四大组件
Activity, Service, Broadcast Receiver, Content provider
用途:
Activity:
在Android中使用频率最高,实质就是一个可视化界面;一般一个Android应用由多个Activity组成,多个Activity组成Activity栈(stack),当前活跃的Activity在栈顶
Activity上面是一个Window对象,Window之上通常是一个布局容器对象(如LinearLayout等),在上面是我们所要展示的各个组件(如按钮、文本框等)
Activity有自己的生命周期,由Android系统来控制
新建的Activity要在清单文件AndroidManifest.xml中注册
Service:
是一个在系统后台运行的程序服务,没有可视化界面
有自己的生命周期,可以通过startService()启动一个Service
或者通过bindService绑定已有的Service
还可以通过RPC(远程进程调用)机制来实现不同进程之间Service的调用(AIDL)
一个新定义的Service必须在清单文件AndroidManifest.xml中注册
Broadcast Recevier:
指广播接收器,广播事件处理机制是系统级别的
系统中定义了很多标准的Broadcast Action来响应系统广播事件,如:ACTION_BOOT_COMPLETED(系统启动完成后出发),ACTION_BATTERY_CHANGED(电量低时出发)
也可以自定义Broadcast Receiver接收广播事件
注册广播接收器可以使用代码注册,也可以在清单文件AndroidManifest.xml中注册
Content provider:
用来保存和检索数据的,并且是应用程序之间相互访问数据成为可能,他是跨应用程序共享数据的唯一方法
Android为常用的数据类型(如:视频、音频、图片)提供了大量的Content Provider,他们被放在android.provider下面
使用时要注意权限问题