Android应用组件
来源:互联网 发布:linux下编写python 编辑:程序博客网 时间:2024/05/28 18:44
应用组件是 Android应用的基本构建基块。每个组件都是一个不同的点,系统可以通过它进入您的应用。并非所有组件都是用户的实际入口点,有些组件相互依赖,但每个组件都以独立实体形式存在,并发挥特定作用—每个组件都是唯一的构建基块,有助于定义应用的总体行为。共有四种不同的应用组件类型。每种类型都服务于不同的目的,并且具有定义组件的创建和销毁方式的不同生命周期。
以下便是这四种应用组件类型:
Activity
Activity表示具有用户界面的单一屏幕。例如,电子邮件应用可能具有一个显示新电子邮件列表的 Activity、一个用于撰写电子邮件的 Activity 以及一个用于阅读电子邮件的 Activity。尽管这些 Activity 通过协作在电子邮件应用中形成了一种具有凝聚力的用户体验,但每一个 Activity 都独立于其他 Activity 而存在。因此,其他应用可以启动其中任何一个 Activity(如果电子邮件应用允许)。例如,相机应用可以启动电子邮件应用内用于撰写新电子邮件的 Activity,以便用户共享图片。 Activity 作为 Activity 的子类实现,您可以在Activity开发者指南中了解有关它的更多详情。
服务
服务 是一种在后台运行的组件,用于执行长时间运行的操作或为远程进程执行作业。服务不提供用户界面。例如,当用户位于其他应用中时,服务可能在后台播放音乐或者通过网络获取数据,但不会阻断用户与 Activity 的交互。诸如 Activity 等其他组件可以启动服务,让其运行或与其绑定以便与其进行交互。 服务作为 Service 的子类实现,您可以在服务开发者指南中了解有关它的更多详情。
内容提供程序
内容提供程序 管理一组共享的应用数据。您可以将数据存储在文件系统、SQLite 数据库、Web 上或您的应用可以访问的任何其他永久性存储位置。其他应用可以通过内容提供程序查询数据,甚至修改数据(如果内容提供程序允许)。例如,Android 系统可提供管理用户联系人信息的内容提供程序。因此,任何具有适当权限的应用都可以查询内容提供程序的某一部分(如 ContactsContract.Data),以读取和写入有关特定人员的信息。 内容提供程序也适用于读取和写入您的应用不共享的私有数据。 例如,记事本示例应用使用内容提供程序来保存笔记。 内容提供程序作为 ContentProvider 的子类实现,并且必须实现让其他应用能够执行事务的一组标准 API。如需了解详细信息,请参阅内容提供程序开发者指南。
广播接收器
广播接收器 是一种用于响应系统范围广播通知的组件。 许多广播都是由系统发起的—例如,通知屏幕已关闭、电池电量不足或已拍摄照片的广播。应用也可以发起广播—例如,通知其他应用某些数据已下载至设备,并且可供其使用。尽管广播接收器不会显示用户界面,但它们可以创建状态栏通知,在发生广播事件时提醒用户。 但广播接收器更常见的用途只是作为通向其他组件的“通道”,设计用于执行极少量的工作。例如,它可能会基于事件发起一项服务来执行某项工作。 广播接收器作为 BroadcastReceiver 的子类实现,并且每条广播都作为 Intent 对象进行传递。如需了解详细信息,请参阅 BroadcastReceiver类。 Android 系统设计的独特之处在于,任何应用都可以启动其他应用的组件。例如,如果您想让用户使用设备的相机拍摄照片,很可能有另一个应用可以执行该操作,那么您的应用就可以利用该应用,而不是开发一个 Activity 来自行拍摄照片。您不需要集成甚至链接到该相机应用的代码,而是只需在拍摄照片的相机应用中启动该 Activity。完成拍摄时,系统甚至会将照片返回您的应用,以便您使用。对用户而言,就好像相机真正是您应用的组成部分。 当系统启动某个组件时,会启动该应用的进程(如果尚未运行),并实例化该组件所需的类。例如,如果您的应用启动相机应用中拍摄照片的 Activity,则该 Activity 会在属于相机应用的进程,而不是您的应用的进程中运行。因此,与大多数其他系统上的应用不同,Android 应用并没有单一入口点(例如,没有 main() 功能)。 由于系统在单独的进程中运行每个应用,且其文件权限会限制对其他应用的访问,因此您的应用无法直接启动其他应用中的组件,但 Android 系统却可以。因此,要想启动其他应用中的组件,您必须向系统传递一则消息,说明您想启动特定组件的 Intent。系统随后便会为您启动该组件。
摘自:https://developer.android.com/guide/components/fundamentals.html
0 0
- Android 应用四大组件
- Android应用界面组件
- Android应用组件Activity
- Android应用组件
- android: WheelView组件(滑轮组件)的应用!
- android: WheelView组件(滑轮组件)的应用!
- 【Android应用开发技术:应用组件】应用组件基本原理
- Android应用中的核心组件
- android学习_应用组件
- Android自定义view组件应用
- android应用的构成组件
- Android应用组件学习笔记
- android 中的ToggleButton组件应用
- Android Service 组件基础应用
- Android 中的应用组件--Service
- Android一键锁屏组件小应用
- android应用自动更新组件封装
- Android应用组件之Service
- Android 获取系统信息
- 说说堆及堆排序
- Genymotion Error in Ubuntu 14.04/ LTS
- CSS学习1(结构和层叠)
- C strcpy & memcpy & malloc & free
- Android应用组件
- 什么是Apple Pay?
- SQL Server:服务器角色
- 第十六周阅读程序-4
- The error occurred while setting parameters
- codeblocks中创建和调用静态链接库(lib)
- 如何测试两台电脑是否可以连接
- java中list、set和map 的区别
- SpringMVC基于Controller的注解