应用组件是Android应用的基本构件。每一个组件,是系统可以进入你的应用的不同的点。并不是所有的组件都会给用户的实际功能和彼此依赖,但是每一个组件有它自己的实体和扮演一个特定的角色,都是唯一的构造块,可以帮助定义应用整个展现。
一共有4种不同的应用组件。每种组件服务不同的目标和有不同生命周期(定义组件的创建和消亡)。
下面介绍下四种应用组件:
活动(Activites)
一个活动表示单个含有用户界面的屏幕。例如,一个邮件应用可能包含一个活动显示新邮件列表,再有一个活动写邮件,再有一个活动用来阅读邮件。尽管这些活动在邮件应用中一起组成完整的用户体验。每个活动都是不依赖其他活动的。同样地,不同的应用可以启动邮件应用任何一个活动,如果邮件应用允许的话。例如,相机应用可以启动邮件应用去写新邮件,然后分享图片给其他人。
一个活动可以做活动的子活动,你可以在活动开发指导中学习更多关于活动的知识。
服务(Services)
一个服务是运行在后台执行长时间运行和操作,或者为远程进程工作一种组件。一个服务不会提供用户界面。例如,当用户正在使用不同的应用,一个服务可能在后台播放音乐,或者从因特网上拿东西,而不用妨碍用户和正在使用的应用的交互。其他的组件,例如一个活动,可以启动服务并让它运行,或者绑定它及和它交互。
内容提供者(Content providers)
内容提供者管理共享数据集。你可以存储数据在文件系统,SQLite数据库,网上,或者你的应用可以访问的其他存储。
通过内容提供者,其他的应用可以查询,甚至修改数据(如果内容提供者允许)。例如,Android系统使用内容提供者管理用户的联系信息。同样地,任一有适当权限的应用,可以查询或者修改内容提供者的关于某个人的部分内容。
内容提供者在读写应用私有的数据时也是有用的。例如,记事本(Note Pad)实例程序使用内容提供者保存记事。
一个内容提供者作为ContentProvider的子类实现的,并且必须要实现标准API集,以实现应用执行交换。你可以在内容提供者开发指导中了解更多的信息。
广播接收器(Broadcast receivers)
广播接收器是回应系统广播通知的组件。许多广播起源于系统,例如,广播通知屏幕已经关闭因为电池量很低了,或者一个图片被捕捉了。应用也可以发起广播。例如,让其他应用知道一些数据已经下载到本地并可以使用了。尽管广播接收器不会显示用户界面,他们可能会创建一个状态栏提示去通知用户一个广播事件发生了。更常见的是,广播接收器只是其他组件的中转,和只做很小量的工作。举个例子,它可能发起一个服务做基于某事件的工作。
广播接收器是作为BroadcastReceiver的子类实现。每个广播是作为Intent对象发送的。参考BroadcastReceiver类去获得更多的信息。
一项Android独一无二的系统设计是任何应用可以启动其他应用的组件。例如,如果你想让用户使用设备的相机拍张照,可能已经被其他的应用实现了,那么你的应用就可以直接使用它,而不用你自己再开发一个新的拍照活动。你不需要合并,甚至连接相机应用的代码。而是简单的启动相机拍照的活动。当完成后,相片会返回给你的应用,以便你可以使用它。对于用户来说,相机看起来就是你应用的一部分。
当系统启动一个组件,它启动组件进程并实例化组件需要的类。例如,如果你的应用启动相机的拍照活动并不是属于你的应用,那么这个活动在相机应用,而不是你的应用,的进程中执行。因此,不像其他系统的应用,Android应用不会有单个实体点,例如不会有main()方法。
因为系统通过文件权限,在不同的进程中运行应用,这限制了其他应用的访问。你的应用不能直接激活其他应用的组件。但是Android系统可以。所以,为了激活另外一个应用的组件,你必须发信息给系统,明确你的目的去启动特定的组件。系统然后为你激活该组件。
分享到:
相关推荐
- **应用组件(AppComponents)**:Android 应用由四大组件构成,包括活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供者(ContentProvider)。这四类组件各有其功能和使用场景,共同...
《Yii1.1 Application Development Cookbook Code》是一本专注于Yii框架1.1版本的实践指南,其配套代码资源在yii1.1_application_development_cookbook_code.zip中,为PHP开发者提供了丰富的实例和解决方案。...
API(Application Programming Interface)是操作系统提供给开发者用以构建应用程序的一组接口,它定义了软件组件如何进行交互。在Windows平台上,API是开发者进行系统级编程的基础,提供了诸如窗口管理、图形绘制、...
### Grails 1.1 Web Application Development #### 核心知识点概述 《Grails 1.1 Web Application Development》是一本专注于使用Grails框架进行高效Web应用开发的技术书籍。本书由作者Jon Dickinson撰写,旨在...
Android官方API文档完整中文版是一款官方推出的全中文完整API,Android API是一套可供调用的系统接口,在需要使用的时候必备一套Android官方中文API文档。 Android API中文文档基本简介 API(Application ...
who will use the ara::com API to interact with other application or service components, but also for Adaptive Platform product vendors, who are going to implement an optimized IPC binding for the ara...
在这个名为“css API androidAPI jqueryAPI”的压缩包中,我们聚焦于三种不同类型的API:CSS API、Android API和jQuery API,它们分别在网页样式控制、移动应用开发和JavaScript库操作中起到关键作用。 1. **CSS ...
《Oracle Common Application Components API 参考指南》是Oracle公司发布的一本技术文档,主要针对Release 11i版本。这本指南详细介绍了Oracle通用应用组件的API(应用程序接口),为开发者提供了与Oracle产品进行...
Android官方API文档完整版, 内容参考: onBind public final IBinder onBind(Intent intent)从类 Service 复制的描述 Return the communication channel to the service. May return null if clients can not bind ...
在Android开发过程中,API(Application Programming Interface)是开发者与操作系统交互的重要桥梁,它定义了应用程序可以使用的各种服务和功能。Android API提供了丰富的组件和接口,让开发者能够构建出功能丰富的...
揭示了ac耦合电容与数据编码格式的关系原理,通过数学推导的形式,客观严谨的说明有效bit数越多,ac耦合电容越大的原理。
- **注意**:Android系统只会加载`AndroidManifest.xml`中第一个`<application>`标签,所以你需要通过其他方式来启动额外的`Application`。通常,你可以在第一个`Application`的`onCreate()`方法中启动其他的`...
Java API和Android API是两种广泛使用的应用程序编程接口,它们各自为开发者提供了丰富的工具和功能,以便在不同的平台上创建软件。让我们深入探讨这两个API的关键概念、差异以及如何在实践中应用它们。 Java API,...
6. **多媒体支持**:Android API包含了处理音频、视频和图像的类,如MediaPlayer、ExoPlayer、Camera API、MediaRecorder、Bitmap等,方便开发者集成多媒体功能。 7. **权限管理**:自Android 6.0(API级别23)开始...
3. **多媒体支持**:Android提供了对音频、视频和图像的广泛支持,如MediaPlayer类用于播放音频和视频,Camera API用于捕捉照片和录制视频,以及Bitmap类处理图像。 4. **网络通信**:Android API提供了多种网络...
综上所述,《CSRmesh 1.1 Switch Application Note》是一份详尽的文档,不仅介绍了CSRmesh 1.1 Switch的基本概念和技术特性,还涵盖了其在网络部署中的应用实例和技术指导。对于希望利用CSRmesh技术构建高效、稳定的...
### Yii 1.1 应用程序开发食谱知识点概览 #### 一、书籍基本信息与版权信息 - **书名**:Yii 1.1 应用程序开发食谱 (August 2011 版本) - **作者**:Alexander Makarov - **出版社**:Packt Publishing - **出版...
该平台支持多种操作系统,包括Android、iOS等,并允许用户通过原生应用接口(Object API)进行开发。 从给定文件内容来看,本教程主要涉及如何在SUP平台上使用Android SDK开发一个Android应用。文档提供了从安装...
在软件开发领域,API(Application Programming Interface)是开发者的重要工具,它定义了不同组件之间交互的规则。本文将深入探讨Android API与JDK API这两个关键的API集合,以及它们在开发过程中的作用。 一、JDK...