0.2 应用组件:Activity和Service

2017-01-10  本文已影响0人  GuoYiheng

应用组件

应用组件是 Android 应用的基本构建基块.每个组件都是一个不同的点,系统可以通过它进入您的应用. 并非所有组件都是用户的实际入口点,有些组件相互依赖,但每个组件都以独立实体形式存在,并发挥特定作用
— 每个组件都是唯一的构建基块,有助于定义应用的总体行为.

共有四种不同的应用组件类型:

1.Activities

2.Services

3.Content providers

4.Broadcast receivers.

每种类型都服务于不同的目的,并且具有定义组件的创建和销毁方式的不同生命周期.


Activity

Activity 是用户与应用进行交互的进入点,代表用户界面的一个单一屏幕.例如,电子邮件应用可能具有一个显示新电子邮件列表的
Activity、一个用于撰写电子邮件的 Activity 以及一个用于阅读电子邮件的
Activity. 尽管这些 Activity 通过协作在电子邮件应用中形成了一种紧密结合的用户体验,但每一个
Activity 都独立于其他 Activity 而存在.因此,其他应用可以启动其中任何一个 Activity(如果电子邮件应用允许).
例如,相机应用可以启动电子邮件应用内用于撰写新电子邮件的 Activity,以便用户共享图片.

此外,系统与应用之间某些非常关键交互也是由Activity来完成:

Activity 作为 Activity的子类实现,可以在Activity 开发者指南中了解有关它的更多详情.

Service

服务是保持应用在后台运行的进入点,用于执行长时间运行的操作或为远程进程执行作业.
服务不提供用户界面. 例如,当用户位于其他应用中时,服务可能在后台播放音乐或者通过网络获取数据,但不会阻断用户与
Activity 的交互. 诸如 Activity等其他组件可以启动服务,让其运行或与其绑定以便与其进行交互.

从语义上讲,服务分为两种形式:

1.启动服务

服务启动后,系统会保持服务在后台持续运行,直到其工作结束.通常用来在后台同步数据或者在用户离开应用后继续播放音乐.后台同步数据和播放音乐代表了系统处理启动服务的两种类型:

2.绑定服务

当系统或其他应用需要使用某个服务时需要绑定该服务,通常通过该服务提供的接口来实现绑定.如果用户关心的进程A绑定了进程B的服务,那么系统也会尽量避免进程B被杀死.我们系统的高级概念都是采用了服务作为构建基块.诸如动态壁纸,通知监听,屏保,输入法等等系统核心功能都是通过应用实现的服务,在需要运行时系统进程来绑定它们.

服务作为 Service 的子类实现,可以在Service开发者指南中了解有关它的更多详情.

上一篇下一篇

猜你喜欢

热点阅读