Android四大组件

2018/07/15 Android 阅读次数: Android Studio

Android四大组件学习,android四大组件分别为activity、service、content provider、broadcast receiver。

activity组件

  1. activity组件,作为用户交互的页面,都是独立的页面,需要在activity.xml中注册
  2. activity连个组建通信,就说页面跳转,需要通过Intent来实现页面跳转

service组件

  1. service组件通常作为后台运行服务,不需要与用户交互,所以也不需要页面UI     
  2. 使用时需要在配置文件中,使用标签,进行声明  

  3. service组件分为两种状态:  
  • started 启动   
  • bound 绑定  
  • 两者之间的区别是:

    绑定:调用着会与服务进程一块退出,调用着退出了,服务也就退出了,是不求同年同月生,只求同年同时死  

    启动:其他组件调用服务,他的生命周期与组件无关,就会一直存在后台,即使组件服务已经销毁,所以需要服务完成后, 调用方法停止

content provider组件

  1. 作用于各个应用程序间的数据共享和传递,统一数据访问方式
  2. ContentProvider实现数据共享。ContentProvider用于保存和获取数据,并使其对所有应用程序可见
  3. 一般不会直接使用ContentProvider类的对象,大多数是通过ContentResolver对象实现对ContentProvider的操作
  4. ContentProvider使用URI来唯一标识其数据集,这里的URI以content://作为前缀,类似http://

broadcast receiver

  1. 广播接收着,会对感兴趣的外部事件过滤,当满足要求时进行处理,他没有页面UI;可以启动一个activity或serice来响应它们收到的信息,或者用NotificationManager来通知用户
  2. 通知可以使用很多方式来吸引用户
  3. 广播接收着分为两种注册:动态注册和静态注册
  4. 动态注册的特点是当用来注册的Activity关掉后,广播也就失效了;而静态则不会,静态注册无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着的

四大组件

  1. 4大基本组件都需要注册才能使用,每个Activity、service、Content Provider都需要在AndroidManifest文件中进行配置。而broadcast receiver广播接收者的注册分静态注册(在AndroidManifest文件中进行配置)和通过代码动态创建并以调用Context.registerReceiver()的方式注册至系统
  2. 内容提供者的激活:当接收到ContentResolver发出的请求后,内容提供者被激活。而其它三种组件activity、服务和广播接收器被一种叫做intent的异步消息所激活。
  3. 内容提供者仅在响应ContentResolver提出请求的时候激活。而一个广播接收器仅在响应广播信息的时候激活。所以,没有必要去显式的关闭这些组件。Activity关闭:可以通过调用它的finish()方法来关闭一个activity。服务关闭:对于通过startService()方法启动的服务要调用Context.stopService()方法关闭服务,使用bindService()方法启动的服务要调用Contex.unbindService()方法关闭服务。
  4. android中的任务(activity栈),任务中的所有activity是作为一个整体进行移动的。整个的任务(即activity栈)可以移到前台,或退至后台。

Search

    Table of Contents