Android应用程序组件
最后更新于:2022-04-02 05:01:06
#### **Android应用程序的一般架构**

#### **Android应用程序的一般架构**
* Activity -- UI、交互
* Service -- 后台计算
* Broadcast Receiver -- 广播
* Content Provider -- 数据

#### **Activity生命周期**
由ActivityManagerService管理

#### **Activity堆栈**
由ActivityManagerService维护

#### **Activity在堆栈中以Task的形式聚集在一起**
**Task由一系列相关的Activity组成,描述用户完成某一个操作所需要的Activity
当我们从Launcher上点击一个应用图标的时候,就启动一个Task
Task是用Android多任务的一种体现
http://developer.android.com/guide/components/tasks-and-back-stack.html**

#### **Service**
* Unbounded service
* Bounded service

#### **Broadcast Receiver**
* 注册
* 静态 -- AndroidManifest.xml
* 动态 -- Context.registerReceiver
* 广播
* 无序 -- Context.sendBroadcast
* 有序 -- Context.sendOrderedBroadcast
* **注册广播**

* **发送广播**

#### **Content Provider**
* 通过URI来描述
* 数据访问接口
* 数据更新机制
* **Content Provider的URI结构**
* A -- Scheme
* B -- Authority
* C -- Resource Path
* D -- Resource ID

* **Content Provider数据访问接口**
* Insert
* Update
* Delete
* Query
* Call -- Hidden
* **Content Provider数据更新机制**
* 注册内容观察者 -- ContentResolver.ContentObserver
* 发送数据更新通知 -- ContentResolver.notifyChange
* **注册Content Provider的内容观察者**

* **发送Content Provider数据更新通知**

';