AnjoyoAndroid07课后习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AnjoyoAndroid07课后习题
一、选择题:
1.下面关于Service的描述有误的一项是()。
A、Service运行在主线程中,可以执行各种后台操作,比如数据计算、多媒体播放、下
载文件等等。
B、Service是不提供用户界面而在后台完成各种耗时操作的组件,译为“服务”。
C、Service与Activity一样,也是Android的四大组件之一,与Activity相同,也使用
Intent对象激活Service。
D、Service、Intent、Activity和ContentProvider被并称为Android的四大组件。
2.下面关于Service的说法不正确的一项是()。
A、Service是Android系统的后台服务组件,适用于开发无界面、长时间运行的应用功
能。
B、Activity比Service的优先级高,不会轻易被Android系统终止。
C、应用程序组件可以启动一个服务(Start a Service),即使用户切换到另一个应用程
序,它仍然会继续在后台运行。
D、一个组件还可以绑定到一个与它进行交互、甚至进行进程间通信(IPC)的服务(Bind
a Service),比如处理网络交易、播放音乐、执行文件I / O操作的服务。
3.下列关于Service说法错误的一项是()。
A、Android中,Service有两种不同的使用方式,一种是以启动方式使用Service(Started
Service),另一种是以绑定方式使用Service(Bound Service)。
B、需要在文件中注册,否则,Service根本无法启动。
C、以绑定方式使用Service,能够获取到Service对象,不仅能够正常启动Service,而
且能够调用正在运行中的Service实现的私有方法和属性。
D、为了使Service支持绑定,需要在Service类中重写onBind()方法,并在onBind()方
法中返回Service对象。
4.下列关于Service绑定说法有误的一项是()。
A、如果绑定成功,则会通过getService()获取Service对象,这样便可以调用Service中
的方法和属性。
B、如果绑定意外失败,会将Service对象设置为null,表示绑定意外失效,Service实
例不再可用。
C、绑定一个Service就可以开启并使一个Service处于运行状态。
D、以绑定方式使用Service时,调用者需要声明一个ServiceConnnection对象,但可以
不用重写它的onServiceConnected()和onServiceDisconnected()方法。
5.下面关于Service描述错误的一项是()。
A、取消绑定仅需要使用unbindService()方法,并将ServiceConnnection对象传递给
unbindService()方法即可。
B、以启动方式使用Service时,使用startService()方法的目的是回调onStart()方法。
C、以绑定方式使用Service时,使用bindService()方法的目的是回调onBind()方法,它
的作用是在Service和调用者之间建立一个桥梁。
D、一般会把要在应用程序被关闭后仍然需要执行的操作实现为一个绑定式的Service,
而将一些执行特定功能、执行周期短或在应用程序关闭后将要停止的操作实现为启动式
的Service。
6.下列关于Android中的广播机制描述有误的一项是()。
A、Android中使用广播这种异步机制来处理组件之间的消息传递,所以组件会接收所
有的广播。
B、所谓异步,就是广播的发送方和接收方不需要互相等待,对广播的收发并不会影响
本身正常的工作。
C、使用异步广播的好处之一是可以避免组件之间互相等待而造成的冲突、资源浪费和
死锁等情况。
D、使用异步广播的好处之一是可以大大简化应用层的编程难度。
7.下列关于Android中的广播机制说法不正确的一项是()。
A、在应用层,通常发送方组件需要定义一个Intent对象,用于封装要发送的消息,并
指定其Action属性用于匹配(参见第二章中的Intent属性部分),然后在组件中使用所在Context对象(上下文环境)的sendBroadcast()方法,将这个Intent发送出去。
B、接收方想要接收到某一个广播时,需要在该广播被发送之前,注册一个
BroadcastReceiver(广播接收者),将其Action属性设置为与要接受广播的Action属性相同的值。
C、一般都不需要在组件的onDestroy()方法中调用unRegisterReceiver()方法,以取消已
注册的BroadcastReceiver对象,清理资源。
D、如果在Activity的onResume()方法中注册了BroadcastReceiver,则应该在onPause()
方法中取消注册。
8.找错()。
A、很多时候,广播用在Service向Activity传递数据中,一般地,都会在Service中开
启线程来做一些耗时的工作,并不时地将结果更新在UI上。
B、Service中开启的线程是不能更新UI的,所以常用的方法就是通过广播来将结果发
送给Activity,Activity在接收到广播后,取出数据,更新UI。
C、Android中,不能在主线程中做耗时操作,否则会阻塞UI的显示;也不能在非主线
程中更新UI,否则会直接报错。
D、对于任何广播来说,可以不用注册接收器,也能先收到广播。
二、填空题:
1.Android中可供接收的三类广播分别是___无序_____、__有序______和__粘滞______。
2.Android的四大组件分别是___ACT_____、__Ser______、__BC______和___CP_____。
3.广播常被用来在Service中向其他的____ACT____或__SER______发送消息。
4.启动Service的两种方法分别为:___Start_____和___Bound_____。
三、判断题:
1.Activity比Service的优先级高。
(X )
2.Service是一个应用程序组件,它可以在后台执行长时间运行的操作,而不提供用户界
面。
(√)
3.Service的最小代码集能完成任何实际的功能。
(X )
四、简答题:
1.请描述启动式Service的三个特点。
通过Startservice去启动服务通过StopService停止服务
Service是由其他组件启动的可由自身或者其他组件停止
如果是StartService 。
如果是BoundService 。
2.请写出在实际开发中,用来选择使用显式还是隐式的启动方式需要遵循的两条原则。
如果是当前程序的Service可以显示或者隐式启动
如果跨程序只能隐式启动
五、编程题:
1.用Service做一个简单的音乐播放器,只需有播放、暂停和单曲循环三个功能即可。