Android的四大组件
Android四大基本组件
Activity,Service,Content Provider,BroadcastReceiver。
Activity
应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件,也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。
Service
Service用于在后台完成用户指定的操作,Service有两种状态,当应用程序组件(如Activity)调用startService方法启动服务时,服务处于started状态。当应用程序组件调用bindService方法绑定到服务时,服务处于bound状态。
started状态是由其他组件调用startService方法启动的,当服务是started状态时,其生命周期与启动它的组件(如Activity)无关,并且可以在后台无限期运行,即使启动服务的组件(如Activity)已经被销毁。因此服务需要在完成任务后调用stopSelf方法停止,或者由其他组件调用stopService方法停止。
bound状态是调用者何服务绑定在了一起,调用者一旦退出,服务也就终止。
BroadcastReceiver
应用程序可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面,然而,它们可以启动一个activity或service来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力(如闪动背光,震动,播放声音等)。一般来说在状态栏上方一个持久的图标,用户可以打开它并获取消息。
Content Provider
Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中,在一个SQLite数据库,或以任何其他合理的方式。其他应用可以通过ContentResolver类从Content Provider中获取或存入数据。只有需要在多个应用程序间共享数据才需要content provider。例如通讯录数据被多个不同应用程序使用,必须存储在一个Content Provider中。