欢迎来到天天文库
浏览记录
ID:14318841
大小:89.50 KB
页数:6页
时间:2018-07-27
《android五大组件详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、初识Android上层应用5大基本组件收藏5BasicComponents1.Activity2.Service3.BroadcastReceiver4.ContentProvider5.IntentActivity——应用表示层(基类Activity)应用程序中的每个屏幕都是通过继承和扩展基类Activity来实现的。同一应用中的每个Activity是相互独立的。程序启动后显示的第一幅画面是应用程序的第一个Activity(默认窗口),而后可以根据需要从这个Activity启动另一个新的Activity。Activity利用View来实现应用中
2、的GUI(用户直接通过GUI和应用程序做交互)。Activity窗口内的可见内容通过基类View提供。使用Activity.setContentView()方法设置当前Activity中的View对象。l每个View对象控制着窗口内的一个矩形空间;lView是一种层次化结构,ParentView中的布局属性会被子View继承;l位于View层次关系最底层的子View对象所代表的矩形空间就是跟用户进行交互的地方Activity状态回调:lonCreatelonStartlonRestartlonResumelonPauselonStoplonDes
3、troyService——没有可见的用户界面,但能够长时间运行于后台(基类Service)运行于应用程序进程的主线程中,因此Service不会阻塞其他组件和用户界面。Service是不能自己启动的,必须通过Context对象(如一个Activity)调用startService或bindService方法来启动(用这两种方法启动的Service的生命周期不同)。1.调用startService方法a)若Service没有启动,则首先会调用该Service的onCreate方法,然后再调用onStart方法。b)若Service已经启动,则会直接调
4、用onStart方法c)该方法启动的Service,可以通过Context对象调用stopService来关闭,也可以通过Service自身调用stopSelf()或stopSelfResult()来关闭,关闭之前调用onDestory方法。2.调用bindService方法,使当前Context对象通过一个ServiceConnection的对象绑定到所指定的Servicea)若Service没有启动,则首先会调用该Service的onCreate方法初始化启动,然后调用Service的onBind方法初始化绑定。b)如果绑定Service的C
5、ontext对象被销毁时,被绑定的Service也会调用onUnbind和onDestroy方法停止运行c)注意:BroadcastReceiver是不能绑定服务的。d)一个绑定Service的Context对象还可以通过unbindService()来取消对服务的绑定。e)取消时,Service会调用unbind方法,若Service是通过bindService来启动的,还会调用onDestroy方法来停止服务。Service状态回调:lonCreatelonStartlonBindlonRebindlonUnbindlonDestroyBro
6、adcastReceiver——用户接收广播通知的组件(基类BroadcastReceiver)Android中的广播要么来自于系统,要么来自普通应用程序。很多事件都可能导致系统广播,如手机所在时区发生变化,电池电量低,用户改变系统语言设置等。来自普通应用程序,如一个应用程序通知其他应用程序某些数据已经下载完毕。为了响应不同的事件通知,应用程序可以注册不同的BroadcastReceiver。所有的BroadcastReceiver都继承自基类BroadcastReceiver。BroadcastReceiver自身并不实现图形用户界面,但是当它
7、收到某个通知后,BroadcastReceiver可以启动Activity作为响应,或者通过NotificationMananger提醒用户。BroadcastReceiver是对发送出来的Broadcast进行过滤接收并响应的一类组件。发送Broadcast信息1.把要发送的信息和用于过滤得信息(如Action、Category)装入一个Intent对象2.调用Context.sendBroadcast()、sendOrderBroadcast()、sendStickyBroadcast()方法,广播该Intent对象3.使用sendBroad
8、cast()或sendStickyBroadcast()方法发出去的Intent,所有满足条件的BroadcastReceiver都会随
此文档下载收益归作者所有