欢迎访问北大青鸟衡阳校区~

  1. 加入收藏
  2. 设为主页
北大青鸟衡阳校区

北大青鸟衡阳校区

    18975451067

    三分钟了解北大青鸟

    ×

    安卓培训课程之Android的主要组件模型概述

    2021-12-10 来源:衡阳北大青鸟阅读:1257

    安卓培训课程是衡阳北大青鸟鸿蒙校区的经典课程,适合于不同阶段的大学生学习,不管是在校、应届、或是已经毕业的大学生,你都能够学习到这门课程。下面衡阳北大青鸟鸿蒙校区的讲师将与大家一同分享android技术。

    Android的组件模型(ComponentModel)

    Android系统中包括如下4种组件:

    (1)Activity

    Activity就是一个界面,这个界面里面可以放置各种控件。例如:TaskManager 的界面、Root Explorer的界面等;Activity是为用户操作而展示的可视化用户界面。例如说,一个activity可以展示一个菜单项列表供用户选择,或者显示一些包含说明的照片。一个短消息应用程序可以包括一个用于显示做为发送对象的联系人的列表的activity,一个给选定的联系人写短信的 activity以及翻阅以前的短信和改变设置的activity。尽管它们一起组成了一个内聚的用户界面,但其中每个activity都与其它的保持独立。每个都是以Activity类为基类的子类实现。

    一个应用程序可以只有一个activity,或者,如刚才提到的短信应用程序那样,包含很多个。而每个activity的作用以及其数目,自然取决于应用程序及其设计。一般情况下,总有一个应用程序被标记为用户在应用程序启动的时候个看到的。从一个activity转向另一个的方式是靠当前的activity启动下一个。

    每个activity都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也可以是一个小的位于其它窗口之上的浮动窗口。一个activity也可以使用超过一个的窗口。例如,在activity运行过程中弹出的一个供用户反应的小对话框,或是当用户选择了屏幕上特定项目后显示的必要信息。

    窗口显示的可视内容是由一系列视图构成的,这些视图均继承自View 基类。每个视图均控制着窗口中一块特定的矩形空间。父级视图包含并组织它子视图的布局。叶节点视图(位于视图层次底端)在它们控制的矩形中进行绘制,并对用户对其直接操作做出响应。所以,视图是activity与用户进行交互的界面。例如说,视图可以显示一个小图片,并在用户指点它的时候产生动作。 Android有很多既定的视图供用户直接使用,包括按钮、文本域、卷轴、菜单项、复选框等等。

    (2)Service

    服务是运行在后台的功能模块。如文件下载、音乐播放程序等;服务没有可视化的用户界面,而是在一段时间内在后台运行。例如说,一个服务可以在用户做其它事情的时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提供给需要这个运算结果的activity使用。每个服务都继承自Service基类。

    一个媒体播放器播放播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个或多个 activity来给用户选择歌曲并进行播放。然而,音乐播放这个任务本身不应该为任何activity所处理,因为用户期望在他们离开播放器应用程序而开始做别的事情时,音乐仍在继续播放。为达到这个目的,媒体播放器activity应该启用一个运行于后台的服务。而系统将在这个activity不再显示于屏幕之后,仍维持音乐播放服务的运行。

    可以连接至(绑定)一个正在运行的服务(如果服务没有运行,则启动之)。连接之后,可以通过那个服务暴露出来的接口与服务进行通讯。对于音乐服务来说,这个接口可以允许用户暂停、回退、停止以及重新开始播放。

    (3)ContentProvider

    它是Android平台应用程序间数据共享的一种标准接口,它以类似于 URI(UniversalResources Identification)的方式来表示数据,如:content://contacts/people/1101;内容提供者将一些特定的应用程序数据供给其它应用程序使用。数据可以存储于文件系统、SQLite数据库或其它方式。内容提供者继承于ContentProvider 基类,为其它应用程序取用和存储它管理的数据实现了一套标准方法。然而,应用程序并不直接调用这些方法,而是使用一个ContentResolver 对象,调用它的方法作为替代。ContentResolver可以与任意内容提供者进行会话,与其合作来对所有相关交互通讯进行管理。

    (4)BroadcastReceiver

    Broadcast Receiver是一个专注于接收广播通知信息,并做出对应处理的组件。很多广播是源自于系统代码的。例如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。应用程序也可以进行广播,例如通知其它应用程序一些数据下载完成并处于可用状态。

    应用程序可以拥有任意数量的Broadcast Receiver以对所有它感兴趣的通知信息予以响应。所有的接收器均继承自BroadcastReceiver基类。Broadcast Receiver没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力——闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

    与此组件相关的概念是Intent,Intent是一个对动作和行为的抽象描述,负责组件之间程序之间进行消息传递。而BroadcastReceiver组件则提供了一种把Intent作为一个消息广播出去,由所有对其感兴趣的程序对其作出反应的机制。举个简单的例子,为了实现一个系统启动后播放音乐的功能,则可以定义Intent为 android.intent.action.BOOT_COMPLETED,由BroadcastReceiver组件将其进行广播,而系统中的 Media Player接收到该信息后则进行播放。

    只有了解到android的一些基本构架以及基础理论知识,我们才能更深入的去学习这门技术,理论+实践是衡阳北大青鸟鸿蒙校区的教学特色,相信在校学生已经深深的感受到了这一点。想加入我们的学习,请直接致电:15367095900。

    关闭