Android应用程序构成

  一个Android应用程序一般是由以下4个组件构成的:

  • 活动(Activity)
  • 意图(Intent)
  • 服务(Service)
  • 内容提供器(Content Provider)

这4个组件是构成android应用改程序的基础,但并不是每个android应用程序都必须包含这个4个组件,除了Activity是必要组件之外,其余组件都是可选的。

Activity

   Activity是Android系统应用程序中构造块中最基本的一种,在应用中,一个 activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。

 Intent

   Intent类用于描述一个应用想做什么。它是一种运行时绑定机制,用来连接两个不同的组件。通过Intent,应用程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。

  与Intent相关的两个类分别是IntentFilter和IntentReceiver。当Intent请求做某个动作时,IntentFilter用于描述一个活动或者广播接收器能够操作哪些Intent。IntentReceiver可使应用程序对外部事件作出响应。

  Intent有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:活动的查看(View)、选取(Pick)、编辑(Edit)等,而动作对应的数据则以URI的形式进行表示。

 Service

  一个Service是一段长生命周期的,没有用户界面的程序。它在后台运行,并且可以与其进行交互。它跟Activity的级别差不多,但是需要通过一个Activity来调用。

  比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个 activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。

Content Provider

  Android系统应用程序能够将它们的数据保存到文件中、SQL数据库中,甚至是任何有效的设备中。Content Provider提供了一种多应用间数据共享的方式。当你想将你的应用数据与其它的应用共享时,Content Provider将会很有用。一个Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。

原文地址:https://www.cnblogs.com/happygirl-zjj/p/4714074.html