# 第十八章 知识测试 **教程说明** 完成时间:十五分钟 执行难度:简单 前面我们已经了解了为Android平台创建应用程序过程中需要涉及的各种基本概念及知识要点。一路走来,我们探讨了关于Android开发的各方面内 容,其中包括Java开发、XML使用、用户界面设计、项目结构、数据存储以及发布流程等。为了检验我们的学习效果,在今天的文章中请大家接受一份结业测试、看看自己是否掌握了前面提到的各项知识。 **问题一** 我们的Java类被保存在以下哪个Android应用程序目录之下? 1. res 1. layout 1. src 1. values **问题二** 我们不会在项目清单文件中执行以下哪项内容? 1. 在应用程序当中声明activity。 1. 设定最低API支持级别。 1. 定义按钮被点击后执行何种事件。 1. 列出应用程序运行所需要的权限。 **问题三** 为了在Java当中利用“@+id/how”语法检索XML中某个视图集的id,我们应该使用以下哪条语句? 1. R.how 1. R.view.how 1. findViewById(how) 1. R.id.how **问题四** 我们应该使用以下哪条语句在XML当中设定TextView所显示的文本字符串? 1. android:text='@string/info' 1. android:string='info' 1. android:text='@text/info' 1. android:value='@string/info' **问题五** 以下哪一种才是我们用于定义用户点击某个按钮时所执行事件的标准方法? 1. onClickListener 1. onViewClick 1. onClick 1. onButtonClick **问题六** 我们需要将以下哪种XML属性添加到视图当中,从而指定用户进行点击时所执行的方法 ? 1. android:onClick 1. android:click 1. android:clickListener 1. android:clicked **问题七** 我们需要使用以下哪条语句在ImageView当中设置一个可绘制显示图形? 1. android:img='@drawable/my_shape' 1. android:shape='@drawable/my_shape' 1. android:drawable='@drawable/my_shape' 1. android:src='@drawable/my_shape' **问题八** 我们需要将以下哪种activity元素包含在清单当中,从而在应用程序从设备菜单中启动时执行该activity? 1. 包含在某个属性当中的应用程序名称。 1. 主要及启动器属性。 1. 主action以及启动器类型元素。 1. 主类型与启动器action元素。 **问题九** 我们需要在哪个元素当中声明应用程序在清单中所要求的权限? 1. permission 1. request-permission 1. permission-required 1. uses-permission **问题十** 应用程序的Shared Preferences是用来干什么的? 1. 保存原始数据项的键值对。 1. 在表当中以行和列的方式保存结构化数据。 1. 检索互联网数据。 1. 将数据保存在用户设备上的外部文件中。 **问题十一** 应用程序在读取并写入文件时,我们需要如何处理I/O错误? 1. 仔细检查文件名字符串。 1. 将我们的I/O代码放置在一个独立的类当中。 1. 尝试并获取与I/O代码相关的数据块。 1. 向用户输出警告信息。 **问题十二** 在尝试向外部存储机制进行写入之前,我们的应用程序不需要执行以下哪个步骤? 1. 检查外部存储机制是否可用。 1. 检查外部存储机制的写入访问。 1. 使用清单内用于向外部存储写入操作的权限。 1. 使用警告对话框,要求用户为数据写入提供权限。 **问题十三** 在从互联网源获取数据时,我们需要坚持做到以下哪一点? 1. 使用一个service类来获取数据。 1. 使用一个单独的进程、而不要利用用户界面进程进行数据获取。 1. 在主activity类中的一个方法内获取数据。 1. 将检索数据保存在SQLite数据库当中。 **问题十四** 以下哪种说法存在错误? 1. 即使是在启动某service的activity停止运行之后、该service仍将继续处于运行状态。 1. 除非用户利用后退按钮进行退出操作,否则activity将始终处于运行状态。 1. 某个绑定service在任何与之相绑定的组件停止运行后、也将一同停止运行。 1. 当某个activity的指向发生变化时、其在默认情况下将进行重新创建。 **问题十五** 要在某个activity当中启用另一个activity,我们需要使用以下哪种类? 1. Intent 1. Thread 1. View 1. Service **问题十六** 当一款应用程序启动并处于resumed状态时,以下哪种回调方法不会执行? 1. onCreate 1. onPause 1. onStart 1. onResume **问题十七** 当用户在暂停之后重新返回我们的应用程序时,以下哪种回调方法会付诸执行? 1. onRestart 1. onResume 1. onStart 1. onCreate **问题十八** 我们需要利用当种方法将状态数据保存在activity的onCreate与onRestoreInstanceState方法当中、以备未来访问? 1. onDestroy 1. onSaveInstanceState 1. onStateChange 1. onSaveState **问题十九** 哪个类允许我们定义可重复使用的用户界面部分? 1. Fragment 1. Service 1. Activity 1. View **问题二十** 在向Google Play发布应用程序时,我们不需要进行以下哪个步骤? 1. 在清单当中包含应用程序的版本与名称。 1. 利用release key进行APK签名。 1. 为应用程序选择内容分级以及产品定价。 1. 为应用程序创建一段视频介绍。 正确答案: 1-5、CCDAC; 6-10、ADCDA; 11-15、CDBBA; 16-20、BBBAD。