Android四大基本组件

A 、Activity

B、service  服务

C、content provider  内容提供者

D、broadcastreceiver 广播接收者

四大基本组件都需要注册才能使用,每个Activity、service、Content Provider内容提供者都需要在AndroidManifest文件中进行配置

1 、Activity

一个应用程序中,activity通常是一个单独的屏幕,它上面可以显示一些控件也可监听并处理用户的事件并做出响应,activity之间通过intent进行通信,intent有两个重要结构:动作和动作对应的数据

2、BroadCastReceiver

广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

典型的BroadCastReceiver案例:

A:买个收音机

写个类继承BroadCastReceiver

B:买个电池

C:调整到适当的频道

典型的自定义广播接受者案例:

自定义广播事件:

Intent     intent=new     Intent();

intent.setAction("cn.my.xia");

intent.putExtra("info","新闻联播7点开始");

sendBroadcast(intent);

广播接收者:

清单文件中:

并且:

class NewReceiver extends BroadCastReceiver{

public void onReceive(){

String info=intent.getStringExtra("info");

Toast.makeText(context,"收到了"+info ,0).show( );

}  }

3、Service

一个service是一段长生命周期,没有用户界面的程序

Service使用步骤如下

1>继承service

2>AndroidManifast.xml配置清单文件中节点里对服务进行配置

服务不能自己运行,需要通过Contex.startService()或Contex.bindService()启动服务

通过startService()方法启动的服务于调用者没有关系,即使调用者关闭了,服务仍然运行想停止服务要调用Context.stopService(),此时系统会调用onDestory(),使用此方法启动时,服务首次启动系统先调用服务的onCreate()-->onStart(),如果服务已经启动再次调用只会触发onStart()方法

使用bindService()启动的服务与调用者绑定,只要调用者关闭服务就终止,使用此方法启动时,服务首次启动系统先调用服务的onCreate()-->onBind(),如果服务已经启动再次调用不会再触发这2个方法,调用者退出时系统会调用服务的onUnbind()-->onDestory(),想主动解除绑定可使用Contex.unbindService(),系统依次调用onUnbind()-->onDestory();

4、Content Provider

android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,

其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳),

只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中

它的好处:统一数据访问方式。