`

Android API课程1.2:Activating Components

 
阅读更多

在四种应用组件中,活动,服务和广播这三种是被叫intent(目的,意图)的异步消息激活的。intent彼此绑定在运行时的单个组件,而不管这些组件是属于你的应用还是其它的应用。你可以认为intent就是,其它组件的的请求消息。

 

intent是被Intent对象创作的,Intent对象定义消息去激活一个或者一种组件的。intent可以是明确的,也可以是暗示的,独自的。

 

对于活动和服务,intent定义执行的动作(例如,去看或者发送)和可能指定执行的URI(统一资源定义)数据(可能其他的组件需要知道的)。例如,intent可能传送请求给一个活动去显示图片或者打开网页。在一些情况下,你可以启动活动去接收返回结果,在这种情况下,活动也会返回结果给Intent。例如,你可以发出intent去让用户选择一个联系人并让它返回给你,那么返回的intent包含一个选中的联系人的URI点。

 

对于广播接收器(broadcast receivers),intent简单地定义被广播的通知,例如,一个广播是要指明电池电量低只需包括一个已知的动作字段标识“batter is low”。

 

剩下的一种组件,内容提供者(content provider),他们不是被intent激活的。而是被,来自ContentResolver的请求定位后,激活的。Content resolver使用content provider处理所有的直接事务,以便执行事务的组件不需要对ContentResolver调用方法。这就在content provider和组件请求信息之间产生了一个抽象层,这是为了安全。

 

激活每种组件都有单独的方法:

  • 你可以通过发送Intent给startActivity()或者startActivityForResult()(当你想接收活动的返回值),启动一个活动或者给它新东西做。
  • 你可以通过发送Intent给startService(),来启动一项服务或者给正在运行的服务新的指令;或者你可以通过发送Intent给bindService()来绑定一个服务。
  • 你可以通过发送一个Intent给像sendBroadcast(),sendOrderedBroadcast()或者sendStickyBroadcast(),来发起一个广播。
  • 你可以通过在ContentResolver中调用query()来向content provider(内容提供者)执行查询。

更多信息关于怎么使用intents,参考Intents and Intent Filters文档。更多的信息关于激活特定的组件也被写在以下的文档: Acitivities,Services,BroadcastReceiver 和 Content Providers。

分享到:
评论

相关推荐

    Android开发指南中文版pdf

    ##### 激活组件 - Activating Components - **Intent**:用于激活组件的主要机制。Intent是一个封装了启动请求的数据对象,可以用于启动Activity、Service或发送广播。 ##### 关闭组件 - Closing Components 组件...

    Android编程指南(中文)

    激活组件 - Activating Components: Intent** - **Intent**: 用于在组件间传递信息或请求服务的一种机制。可以通过 Intent 来启动 Activity、Service 或发送广播。 - **关闭组件**: 当组件完成其任务后,可以调用...

    Android开发指南中文版

    4. **激活组件:Intent (Activating Components: Intent)** Intent是Android中的一种消息对象,用于启动另一个组件或传递数据。它可以是显式的,指定确切的组件来启动,也可以是隐式的,让系统根据Intent的过滤器...

    Android中文开发指南

    - **关键类 (Key Classes)**:Android应用程序由多个类组成,包括`Activity`(活动)、`Service`(服务)、`BroadcastReceiver`(广播接收器)、`ContentProvider`(内容提供者)等,它们构成了Android应用程序的...

    Android开发指南全中文版

    - **激活组件(Activating Components):** 通过Intent来启动Activity、Service和BroadcastReceiver。 - **关闭组件(Closing Components):** 当组件完成其任务后,可以通过适当的方法关闭它们。 - **manifest文件:*...

    android中文版全面剖析

    - **进程**:Android中的每个应用程序默认运行在一个独立的Linux进程中。 - **线程**:在进程中执行的任务,主线程负责处理UI事件。 - **远程过程调用**:允许不同进程之间的组件相互通信。 - **线程安全方法**:...

    Android代码-sonar-android

    Android Lint Plugin Contributions are welcome. Join the effort ! Description ...Tune the SonarQube quality profile by activating the Android Lint rules on which you'd like to see some issues r

    Android开发指南中文版.pdf

    #### 激活组件 - Activating Components - **Intent**:用于启动 Activity 或 Service,通过 Intent 对象指定目标组件及附加数据。 - **Intent 过滤器**:在 AndroidManifest.xml 文件中定义,用来描述 Intent 的...

    android开发学习

    #### 三、激活组件:Intent (Activating Components: Intent) Intent 是 Android 中用于激活组件的重要机制。通过 Intent,可以启动 Activity、Service 或者发送广播。Intent 可以携带额外的数据,如字符串、布尔值...

    android开发指南中文版

    **激活组件 - Activating Components** - 使用`Intent`来激活特定的组件。例如,可以使用Intent启动一个新的Activity、服务或发送广播。 **关闭组件 - Shutting Down Components** - 组件可以由其自身或其他组件...

    MAA_S4HANAX_BB_ConfigGuide_EN_XX

    - **2.2.3.1 Gateway系统:激活SAP NetWeaver Gateway** (Gateway System: Activating SAP NetWeaver Gateway) - **2.2.3.2 Gateway系统:在NetWeaver Gateway中创建信任的RFC到SAP Business Suite** (Gateway ...

    Android.Design.Patterns.and.Best.Practices.epub

    Are you an Android developer with some experience under your belt? Are you wondering how the experts create efficient and good-looking apps? Then your wait will end with this book! We will teach you ...

    Mida Basic Embarcadero XE6 Edition

    You can upgrade to Mida Pro or Mida Studio activating these features : - Support of Hundreds of components of Third Party ( TMS,JVCL,DevExp... ) for example Mida automatically converts TMS ...

Global site tag (gtag.js) - Google Analytics