应用程序组件Application Components
Activity
activity是为用户操作而展示的可视化用户界面
- 一个应用程序可以只有一个activity,或者多个。
- 每个activity都被给予一个默认的窗口进行绘制
服务service
服务没有可视化的用户界面,而是在一段时间内在后台运行
- 如同activity和其他组件一样,服务运行于应用程序进程的主线程内。所以他不会对其他组件或用户界面有任何干扰,他们一般会派生一个新线程来进行一些耗时任务
广播接收器Broadcast receivers
广播接收器是一个专注于接受广播通知信息,并做出对应处理的组件
内容提供者content provider
激活组件,intent
activity
通过传递一个intent对象至Context.startActivity()或Activity.startActivityForResult()。相应的activity可以通过调用getIntent()方法来产科激活它的intent
service
通过传递一个intent对象至Context.startService()。android调用服务的onStart()方法并将intent对象传递给它。
鱼刺类似,一个intent可以被调用组件传递给Context.bindService()以获取一个正在运行的目标服务的连接。这个服务会经由onbind()方法的调用获取这个intent对象
broadcast receiver
应用程序可以凭借将Intent对象传递给 Context.sendBroadcast() ,Context.sendOrderedBroadcast(), 以及Context.sendStickyBroadcast()和其它类似方法来产生一个广播。Android会调用所有对此广播有兴趣的广播接收器的 onReceive()方法,将intent传递给它们。
关闭组件
activity
finish(),finishActivity()
service
stopSelf() , Context.stopService()