name="")
第二种使用代码进行注册如:
IntentFilter filter = new IntentFilter("");
IncomingSMSReceiver receiver = new IncomgSMSReceiver();
registerReceiver;
两种注册类型的区别是:
1)第一种不是常驻型广播,也就是说广播跟随程序的生命周期。
2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
3. 简要解释一下activity、 intent 、intent filter、service、BroadcaseReceiver。
(15分)
答:
一个activity呈现了一个用户可以操作的可视化用户界面;
一个service不包含可见的用户界面,而是在后台运行,可以与一个activity绑定,通过绑定暴露出来接口并与其进行通信;
一个broadcast receiver是一个接收广播消息并做出回应的component,broadcast receiver没有界面;
一个intent是一个Intent对象,它保存了消息的内容。
对于activity和service来说,它指定了请求的操作名称和待操作数据的URI,Intent对象可以显式的指定一个目标component。
如果这样的话,android会找到这个component(基于manifest文件中的声明)并激活它。
但如果一个目标不是显式指定的,android必须找到响应intent的最佳component。
它是通过将Intent对象和目标的intent filter相比较来完成这一工作的;
一个component的intent filter告诉android该component能处理的intent。
intent filter也是在manifest文件中声明的。
4.写一个实现自己的Handler,对消息进行处理(15分)
privateclass MyHandler extendsHandler { TextViewmText;
A. @Override publicvoidhandleMessage(Messagemsg){ (msg); switch { case UPDATE :
作系统
D.内存卡
2.一个android工程中以.java作为后缀的源文件在以下哪个路径下(D)
3.安卓工程的res/layout/路径下放的以.xml作为后缀的文件是(A)
A.界面布局文件B.源代码文件
C.视频文件D.音频文件
和的区别是(A)
A.是java虚拟机编译前的文件,而是java虚拟机编译后的文件
B.是java虚拟机编译后的文件,而是java虚拟机编译前的文件
C.两个都是编译前的文件
D.两个都是编译后的文件
的四大组件不包括以下哪个(C)
A.Service
Provider
6.我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(A)
A、onDestroy()
B、onClear()
C、onFinish()
D、onStop()
7.在注册Activity时加入android:
theme="@android:
style/"(继承Activity)
的作用是(A)
A.使这个Activity以对话框的形式显示
B.使这个Activity以表格的形式显示
C.使这个Activity以透明的形式显示
D.以上说法都不正确
8.关于onBind()方法以下说法正确的是(A)
A.启动模式下返回null,绑定模式下返回IBinder
B.启动模式下返回IBinder,绑定模式下返回null
C.启动模式下和绑定模式下都返回IBinder
D.启动模式下和绑定模式下都返回null
9.. android 中下列属于Intent的作用的是(C)
A 实现应用程序间的数据共享
B 是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失
C 可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D.处理一个应用程序整体性的工作
10.关于应用程序的生命周期,一个Activity从启动到运行状态需要执行3个方法,请选择一个正确的执行顺序。
(A)
A. onCreate()->onStart()->onResume()
B. onStart()->onCreate()->onResume()
C. onCreate()->onResume()->onStart()
D. onStart()->onResume()->onCreate()
2.填空(每空1分,共20分)
通过按钮显式调用时,在按钮的事件监听方法中完成如下代码,Intentintent=newIntent,;startActivity(intent);
2.Activity有四种运行状态,分别是Actived,Paused,stopped,Killed
3.Activity有七种生命周期函数,写出其中四种onCreate(),onStart(),onStop(),onRestart(),onResume(),onPause(),onDestroy(),
4.Buttonbutton=(Button)findViewById可以在源代码中注册,也可以在注册
5.Service有启动模式和绑定模式两种
7.一个名为的源文件,它的主类应该是publicclassstartActivityextendsActivity{...}
8.获取ContentResolver对象ContentResolverresolver=getContentResolver()
9.启动模式下启动service和停止service分别用startService()方法和stopService()方法。
10.通过sendmessage()发出的消息,会被Handler的hangleMessage()方法处理
3.判断题(每题1分,共10分)
1.主流手机操作系统有Android ,Window Mobile ,Apple IPhone IOS ,windows vista等(F)
2.一个应用程序中只能有一个Activity(F)
3. 文件是自动生成而不需要开发者维护的。
在res文件夹中内容发生任何变化,文件都会同步更新 (T)
4.android系统通过栈的方式来管理Activity(T)
5.AndroidVM虚拟机中运行的文件的后缀名为apk(F)
6.与Activity不同的是,service没有自己的用户界面(T)
7.BroadcastReceiver静态注册时应该采用(F)
8.每个Handler都有消息队列和线程队列两个队列(T)
9.eclipse编写源代码时,快速完成代码开始处的import语句的快捷键是Ctrl+shift+O(T)
10.安卓应用程序设计完成后以.apk结尾的文件形式发布(T)
4.问答题(共50分)(答案仅供参考)
1.(5分)
简述在Android工程中下述文件的什么作用:
(书上有)
src\*.java
res\layout\*.xml
res\value\*.xml
2.启动式service与绑定式service有什么区别(5分)
如果执行的是长时间运行的耗时操作,则用启动式service,他的启动和关闭都是用特定的方法(startservice和stopservice)实现的,如果是组件间的交互,则用绑定式service,此时它与调用者绑定在一起,调用者退出了,service则先后调用onUnbind()和onDestroy()退出。
Provider的作用(10分)
1)、ContentProvider为存储和获取数据提供了统一的接口。
ContentProvide对数据进行封装,不用关心数据存储的细节。
使用表的形式来组织数据。
2)、使用ContentProvider可以在不同的应用程序之间共享数据。
3)、Android为常见的一些数据提供了默认的ContentProvider(包括音频、视频、图片和通)。
总的来说使用ContentProvider的作用就是统一了数据的访问方式。
4.用于监听广播事件的两种注册方法,一种是在中注册,另一种是使用程序注册,这两种方法有什么区别(10分)
动态注册较静态注册灵活。
当静态注册一个BroadcastReceiver时,不论应用程序是启动与否。
都可以接受对应的广播。
动态注册的时候,如果不执行unregisterReceiver();方法取消注册,跟静态是一样的。
但是如果执行该方法,当执行过以后,就不能接受广播了
5.进程和线程的关系(10分)
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。
不同进程的线程间要利用消息通信的办法实现同步。
的7个生命周期函数中onCreate,onStart,onStop,onPause什么时候执行(10分)
onCreate:
当Activity第一次被创建时调用;
onStart:
在onCreate方法之后被调用,或者在Activity从stopped状态转换为Actived状态时被调用;
onStop:
在Activity从Actived状态转换为Stopped状态时被调用;
onPause:
在Activity从Actived状态转换为Paused状态时被调用;