Android移动开发基础案例教程第2版课后习题
一、填空题
- Dalvik中的Dx工具会把部分class文件转换成( )文件。
- 如果希望在XML布局文件中调用颜色资源,可以使用( )调用。
- Android程序入口的Activity是在( )文件中注册的。
- Android中 查看应用程序日志的工具是( )
dex @color AndroidMainifest.xml LogCat
二、判断题
- Dalvik是 Google公司设计的用于Android平台的虚拟机。
- Android应用程序的主要语言是Java.
- Android系统采用分层架构,分别是应用程序层、应用程序框架层、核心类库和Linux内核。
- 第三代移动通信技术(3G)包括TD-LTE和FDD-LTE两种制式。
- Android程序中,Log.e()用于输出警告级别的日志信息。
- 每个Dalvik虚拟机实例都是一个独立的进程空间,并且每个进程之间不可以通信。
√ √ √ × × ×
三、选择题
- Dalvik虚拟机是基于( )的架构。 A.栈 B.堆 C.寄存器 D.存储器
- Android项目中的主题和样式资源,通常放在( ) 目录。 A. res/drawable B. res/layout C. res/values D. assets
- 下列关于AndroidManifest.xml文件的说法中,错误的是( )。 A.它是整个程序的配置文件 B.可以在该文件中配置程序所需的权限 C.可以在该文件中注册程序用到的组件 D.该文件可以设置UI布局
- Dalvik虚拟机属于Android系统架构中的( ) A.应用程序层 B.应用程序框架层 C.核心类库层 D. Linux内核层
- Android中 短信、联系人管理、浏览器等属于Android系统架构中的( ) A.应用程序层 B. 应用程序框架层 C.核心类库层 D. Linux内核层
c c d c a
一、填空题
- Android的常见布局都直接或者间接的继承自( )类。
- Android中 的TableLayout继承自( )。
- 表格布局TableLayout通过( )布局控制表格的行数。
- ( )布局通过相对定位的方式指定子控件的位置。
- 在R.java文件中,android:id属性会自动生成对应的( )类型的值。
ViewGroup LinearLayout TableRow RelativeLayout int
二、判断题
- ViewGroup是盛放界面控件的容器。
- 如果在帧布局FrameLayout中放入三个所有属性都相同的按钮,那么能够在屏幕上显示的是第1个被添加的按钮。
- Android中的布局文件通常放在res/layout文件夹中。
- TableLayout继承自LinearLayout, 因此它完全支持LinearLayout所支持的属性。
- LinearLayout布局中的android:layout_weight属性用于设置布局内控件所占的权重。
√ × √ √ √
三、选择题
-
下列属性中,用于设置线性布局方向的是( )。 A. orientation B. gravity C. layout gravity D. padding
-
下列选项中,不属于Android布局的是( )。
A. FrameLayout B. LinearLayout C. Button D. RelativeLayout
-
帧布局FrameLayout是将其中的组件放在自己的( )。
A.左上角 B.右上角 C.左下角 D.右下角
-
对于XML布局文件,android:layout_width属性的值不可以是( )。
A. match_parent B. fill_parent C. wrap_content D. match_content
-
下列关于RelativeLayout的描述,正确的是( )。
A. RelativeLayout表示绝对布局,可以自定义控件的x、y的位置 B. RelativeLayout表示帧布局,可以实现标签切换的功能 C. RelativeLayout表示相对布局,其中控件的位置都是相对位置 D. RelativeLayout表示表格布局,需要配合TableRow 一起使用
a c a d c
一、判断题
- Android的控件样式, 每一个XML属性都对应一个Java方法。
- 当指定RadioButton按钮的android:checked属性为true时,表示未选中状态。
- AlertDialog对话框能够直接通过new关键字创建对象。
- Toast是Android系统提供的轻量级信息提醒机制,用于向用户提示即时消息。
- ListView列表中的数据是通过Adapter加载的。
√ × × √ √
二、选择题
- 在XML布局中定义了一个Button, 决定Button按钮上显示文字的属性是( ) A. android:value B. android:text C. android:id D. android:textvalue
- 下列选项中,( )用于设置TextView中文字显示的大小。 A. android:textSize=“18” B. android:size=“18” C. android:textSize=“18sp” D. android:size=“18sp”
- 使用EditText控件时, 当文本内容为空时,如果想做一些提示, 那么可以使用的属性是( )。 A. android:text B. android:background C. android:inputType D. android:hint
- 为了让一个imageView显示一张图片,可以通过设置的属性是( )。 A. android:src B. android:background C. android: img D. android:value
- 下列关于ListView的说法中, 正确的是( ) A. ListView的条目不能设置点击事件 B. ListView不设 置Adapter也能显示数据内容 C. 当教据超出能显示范围时,ListView自动具有可滚动的特性 D. 若ListView当前能显示10条, 一共有100条数据, 则产生了100个View
- CheckBox被选择的监听事件通常使用( )方法。 A. setOnClickListener B. setOnCheckedChangeListener C. setOnMenuItemSelectedListener D. setOnCheckedListener
- 当使用EditText控件时, 能够使文本框设置为多行显示的属性是( )。 A. android:lines B. android:layout_height C. android:textcolor D. android:textsize
- 下列关于AlertDialog的描述,错误的是( ) A.使用new关键字创建AlertDialog的实例 B.对话框的显示需要调用show()方法 C. setPositiveButton()方法是 用来设置确定按钮的 D. setNegativeButton()方法是用来设置取消按钮的
b c d a c b a a
一、填空题
- Activity的启动模式包括standard, singleTop,singleTask和( )。
- 启动一个新的Activity并且获取这个Activity的返回教据, 需要重写( )方法。
- 发送隐式Intent后,Android系统会使用( )匹配相应的组件。
- 在清单文件中为Activity添加< intent-filter>标签时, 必须添加的属性名为( )否则隐式Intent无法开启该Activity.
- Activity的( )方法用于关闭当前的Activity。
singleintance startActivityForResult() IntentFilter action finsh()
二、判断题
- 如果Activity不设置启动模式,则默认为standard.
- Fragment与Activity的生命周期方法是一致的。
- 如果想要关闭当前的Activity, 可以调用Activity提供的finish()方法。
- < intent-filter>标签中间只能包含一个action属性。
- 默认情况下,Activity的启动方式是standard.
√ × √ × √
三、选择题
- 下列选项中,不属于Android四大组件的是( ) A. Service B. Activity C. Handler D. ContentProvider
- 下列关于Android中Activity管理方式的描述中,正确的是( ) A. Android以堆的形式管理Activity B. Android以栈的形式管理Activity C. Android以树的形式管理Activity D. Android以链表的形式管理Activity
- 下列选项中,( )不是Activity生命周期方法。 A. onCreate() B. startActivity() C. onStart() D. onResume()
- 下列方法中,( )是启动Activity的方法。 A. startActivity() B. goToActivity() C. startActivityResult() D.以上都是
- 下列关于Intent的描述中,正确的是( ) A. Intent不能够实现应用程序间的数据共享 B. Intent可以实现界面的切换, 还可以在不同组件间直接进行数据传递 C. 使用显式Intent可以不指定要跳转的目标组件 D. 隐式Intent不会明确指出需要激活的目标组件,所以无法实现组件之间的数据跳转
c b b a b
一、判断题
- SQLite是Android自带的一个轻量级的数据库,支持基本SQL语法。
- Android中的文件存储方式, 分为内部存储方式和外部存储方式。
- 使用openFileOutput()方式打开应用程序的输出流时,只需指定文件名。
- 当Android SDK版本低于23时,应用程序想要操作SD卡数据,必须在清单文件中添加权限。
- SQLiteDatabase类的update()方法用于删除数据库表中的数据。
- SQLite数据库的事 务操作满足原子性、一致性、 隔离性和持续性。
√ √ × √ × √
二、选择题
- 下列关于SharedPreferences存取文件的描述中,错误的是( )。 A. 属于移动存储解决方式 B. SharedPreferences处理的就是key-value对 C. 读取xml的路径是/sdcard/shared_prefs D.文本的保存格式是xml
- 下列选项中,不属于getSharedPreferences方法的文件操作模式参数是( )。 A. Context.MODE_PRIVATE B. Context.MODE_PUBLIC C. Context.MODE_WORLD_ READABLE D. Context.MODE_WORLD_WRITEABLE
- 下列方法中,( )方法是shardPreferences获取其编辑器的方法。 A. getEdit() B. edit() C. setEdit() D. getAll()
- Android对教据库的表进行查询操作时,会使用SQLietDatabase中的( ) 方法。 A. insert() B. execSQL() C. query() D. updata()
- 下列关于SQLite数据库的描述中, 错误的是( ) A. SqliteOpenHelper有创建数据库和更新数据库版本的的功能 B. SqliteDatabase类是用来操作数据库的 C. 每次调用SqliteDatabase的getWritableDatabase方法时,都会执行SqliteOpenHelper的onCreate()方法 D. 当数据库版本发生变化时,会调用SqliteOpenHelper的onUpgrade()方法更新数据库
- 下列初始化SharedPreferences的内代码中, 正确的是( ) A. SharedPreferences sp = new SharedPreferences(); B. SharedPrefe / rences sp = SharedPreferences.getDefault(); C. SharedPreferences sp = SharedPreferences.Factory(); D. SharedPreferences sp = getSharedPreferences();
c b b c c d
一、判断题
- Uri主要由三部分组成,分别是scheme,authority和path。
- 内容观察ContentObserver用于观察指定URI代表的数据的变化。
- 内容提供者主要功能是实现跨程序共享数据的功能,
- Android中通过内容解析者查询短信数据库的内容时不需要加入读短信的权限。
- Android系统的UriMatcher类用于匹配Uri.
√ √ √ × √
二、选择题
-
如果一个应用程序想要访问另外一个应用程序的数据库,那么需要通过( )实现, A. BroadcastReceiver B. Activity C. ContentProvider D. AIDL
-
下列方法中,( )能够得到ContentResolver的实例对象。 A. new ContentResolver() B. getContentResolver() C. newInstance() D. ContentUris.newInstance()
-
自定义内容观察者时,需要继承的类是( ) A. BaseObserver B. ContentObserver C. BasicObserver D. DefalutObserver
-
对查询系统信息时,内容提供者对应的Uri为( ).
这里指的是系统短信
A. Contacts.Photos.CONTENT_URI B. Contacts.People.CONTENT_URI C. content://sms/ D. Media.EXTERNAL_CONTENT_URI
-
下列关于ContentProvider的描述, 错误的是( ) A. ContentProvider是一个抽象类,只有继承后才能使用 B. ContentProvider只有在AndroidManifest.xml文件中注册后才能运行 C. ContentProvider为其他应用程序提供了统一的访问数据库的方式 D.以上说法都不对
c b b c d
一、填空题
- ( )用来监听来自系统或者应用程序的广播。
- 广播接收者的注册方式有两种,分别是( )和( )。
BroadcastReceiver 动态注册 静态注册
二、判断题
- Broadcast表示广播,它是一种运用在应用程序之间传递消息的机制。
- 在清单文件注册广播接收者时,可在< intent-filer>标签中使用priority属性设置优先级别, 属性值越大优先级越高。
- 有序广播的广播效率比无序广播更高。
- 动态注册的广播接收者的生命周期依赖于注册广播的组件。
- Android中广播接收者必须在清单文件里面注册。
1、√ 2、√ 3、× 4、√ 5、×
三、选择题
- 关于广播类型的说法,错误的是( )。 (多选) A. Android中的广播类型分有序广 播和无序广播 B.无序广播是按照一定的优先级进行接收 C.无序广播可以被拦截,可以被修改数据 D.有序广播按照一定的优先级进行发送
- 广播作为Android组件间的通信方式,使用的场景有( )。(多选) A.在同一个APP内部的同一组件内进行消息通信 B.不同APP的组件之间进行消息通信 C.在同一个APP内部的不同组件之间进行消息通信(单个进程) D. 在同一个APP具有多个进程的不同组件之间进行消息通信
1.BC
2.ABCD
一、填空题
- 如果想要停止bindService()方法启动的服务,需要调用( )方法。
- Android系统的服务的通信方式分为( )和( )。
- 远程服务通过( )实现服务的通信。
onUnbind 本地通信 远程通信 AIDL
二、判断题
- Service服务是运行在子线程中的。
- 不管使用哪种方式启动Service, 它的生命周期都是一样的。
- 使用服务的通信方式进行通信时,必须保证服务是以绑定的方式开启的,否则无法通信。
- 一个组件只能绑定一个服务。
- 远程服务和本地服务都运行在同一个进程中。
1、× 2、× 3、√ 4、× 5、×
三、选择题
- 如果通过bindService方式开启服务, 那么服务的生命周期是( ). A. onCreate() →onstart()→onBind()→onDestroy() B. onCreate()→onBind()→onDestroy() C. onCreate()→onBind()→onUnBind()→onDestroy() D. onCreate() →onStart()→onBind ()→onUnBind()→onDestroy()
- 下列关于Service服务的描述中,错误的是( ) A. Service是没有用户可见的界面,不能与用户交互 B. Service可以通过Context.startService()来启动 C. Service可以通过Context.bindService()来启动 D. Service无须在清单文件中进行配置
- 下列关于Service的方法描述,错误的是( )。 A. onCreate()表示第一次创建服务时执行的方法 B. 调用startService()方法启动服务时执行的方法是onStartCommand() C. 调用bindService()方法启动服务时执行的方法是onBind() D. 调用startService()方法断开服务绑定时执行的方法是onUnbind()
c d d
一、填空题
- HttpURLConnection继承自( )类。
- Android系统默认提供的内置浏览器使用的是( )引擎。
- Android中解析JSON数据的org.json包中,最重要的两个类是( )和JSONArray.
URLConnection webkit JSONObject
二、判断题
- HttpURLConnection用于发送HTTP请求和获取HTTP响应。
- Android中 的WebView控件专门用于浏览网页,其使用方法与其他控件一样。
- Android中要访问网络,必须在AndroidManifest.xml中注册网络访问权限。
- HttpURLConnection是抽象类, 不能直接实例化对象,需要使用URL的openConnection()方法获得。
- 使用HttpURLConnection进行HTTP网络通信时,GET方式发送的请求只能发送大小在1024个字节内的数据.
- Android内置的浏览器使用的是WebView引擎。
1、√ 2、√ 3、√ 4、√ 5、√ 6、×
三、选择题
- Android针对HTTP实现网络通信的方式主要包括( )。(多选) A. 使用HttpURLConnection实现 B. 使用ServiceConnection实现 C. 使用HttpClient实现 D. 使用HttpConnection实现
- Android中的HttpURLConnection中的输入/输出流操作,在HttpClient中被统一封装成了( )。(多选) A. HttpGet B. HttpPost C. HttpRequest D. HtpResponse
1.ABCD 2、ABD
一、判断题
- SurfaceView继承自View, 它是显示图像的控件。
- SurfaceView具有双缓冲技术。
- MediaPlayer播放视频,SurfaceView 显示视频时必须在子线程中更新。
- Android中可以使用SoundPool同时播放多个音频文件。
- 使用VideoView播放视频时, 需要使用setVideoPath( )设置播放视频路径,
1、√ 2、√ 3、× 4、√ 5、√
二、选择题
- 下列关于多媒体应用开发的描述中,正确的是( ) (多选) A. 可以使用mediaPlayer或SoundPool播放音频 B. 使用MediaPlayer每次只能播放一个音频,适用于播放长音乐或背景音乐 C. 使用SoundPool可以同时播放多个短小音频,适用于播放按键音或消息提示音 D. SoundPool和SurfaceView一起使用,还可以播放视频
- MediaPlayer 中的setAudio StreamType()方法支持的音频类型包括( ).(多 选) A.音乐 B.响铃 C.闹钟 D.提示音
- 下列关于MediaPlayer的描述, 错误的是( ) A. MediaPlayer是用于播放音频和视频的 B. MediaPlayer对音频文件提供了非常全面的控制方法 C. MediaPlayer会调用底层的音频驱动播放音频 D. MediaPlayer只可以播放音频,不能播放视频
1、ABC 2、ABC 3、D