基于Android技术的界面设计与研究_赵亮
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4) 应用程序层:Android 本身会附带一些核心的应用程序,包括 e-mail 客户端、短信程序、日历、地图、浏览器、通讯录等,目前所
有的应用程序都是由 Java 语言开发的。
2 Android 应用程序的构成
对于一个 Android 应用程序来说,是由四种构造块组织而成:Activity、Intent Receiver、Service、Content Provider。 但 是 ,并 不 是 每 一个 Android 应用程序都需要这四种构造块,我们对四种构造块做一些说明:
3 Android 用户界面设计
Android 生成屏幕有三种方式:xml 配置生成;通过用户界面接口生成;直接用代码生成。 根据 MVC 原则,UI 应该与程序逻辑相 分离,因此,在 XML 中定义 UI 结构是高度推荐的。 此外,一个程序从一个屏幕方案调整到另一个也容易得多。 Android 应用程序的 基础功能单元就是 Activity--android.app.Activity 类中的一个对象。 一个 Activity 可以做很多事,但是他自己并不会显示到屏幕上,需 要使用 view 和 viewgroup--Android 平台基础的用户界面表达单元。
件系统,而是采用 YAFFS2 文件系统。YAFFS2(Yet Another Flash File System)文件系统是一
个开源的专门为 NAND Flash 设计的文件系统,具 有 很 好 的 可 移 植 性 ,同 时 也 是 一 种 日 志
型文件系统。 2) Android 运 行 时 库 和 其 他 库 层 :Android 运 行 时 库 包 含 一 组 核 心 库 和 Dalvik 虚 拟 机
3) Service。一个 Service 是一段长生命周期的,没有用户界面的程序。例如媒体播放器这个 activity 会使用 Context.startService()来 启动一个 service,从而可以在后台保持音乐的播放。 同时,系统也将保持这个 service 一直执行,直到这个 service 运行结束。 通过使 用 Context.bindService()方法,连接到一个 service 上(如果这个 service 还没有运行将启动它)。 当连接到一个 service 之后,我们还可 以 service 提供的接口与它进行通讯。 拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。
ISSN 1009-3044
C第om5pu卷ter第Kn2o9wle期dge a(2nd00Te9ch年no1lo0gy月电)脑知识与技术
Vol.5,No.29, October 2009, pp.8183-8185
E-mail: xsjl@cccc.net.cn Computer Knowledge and Techhtntopl:o/g/wy w电w脑.d知nz识s.n与et技.c术n
ZHAO Liang1, ZHANG Wei2
(Department of Electrionic Information, Xuzhou Institute of Architectural Technology, Jiangsu 221000, China)
Abstract: Described in detail the Android that was the basic structure of a new generation smart phones platform of google. By the analysis of its application constitution, we analyze the function of the four kinds of block that compose the Android architecture. Finally through the introduction of the view and layout, present an interface implementation using Android technology and realize the user event mapping by data binding.
Key words: Android; view; viewgroup; data binding; layout
随着 3G 网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。 因此,移动终端的应用软件和需要的服务将 会有很大的发展空间。 Google 为此于 2007 年 11 月推出了一个专为移动设备设计的软件平台— ——Android。 Android 是一个针对移动 设备的程序集,其中包括一个操作系统,一个中间件和一些关键性应用。
应。
LayoutParams 中的 RelativeLayout 允许子元素指定他们相对于其
它元素或父元素的位置(通过 ID 指定)。 因此,你可以以右对齐,或上
下,或置于屏幕中央的形式来排列两个元素。 元素按顺序排列,因此
如果第一个元素在屏幕的中央, 那么相对于这个元素的其它元素将
以屏幕中央的相对位置来排列。如果使用 XML 来指定这个 layout,在
1) Activity。 Activity 是 Android 构造块中最基本的一种。 一个 activity 通常就是一个单独的屏幕。 每一个 activity 都被实现为一 个独立的类,并且继承于 Activity 这个基类。这个 activity 类将会显示由几个 Views 控件组成的用户接口,并对事件做出响应。大部份 的应用都会包含多个的屏幕。Android 使用了 Intent 这个特殊类,实现在屏幕与屏幕之间移动。 通过解析各种 intent,从一个屏幕导航 到另一个屏幕是很简单的。当向前导航时,activity 将会调用 startActivity(Intent myIntent)方法。然后,系统会在所有安装的应用程序中 定义的 IntentFilter 中查找, 找到最匹配 myIntent 的 Intent 对应的 activity。 新 的 activity 接 收 到 myIntent 的 通 知 后 , 开 始 运 行 。 当 startActivity 方法被调用将触发解析 myIntent 的动作,这个机制提供了两个关键好处:能够重复利用从其它组件中以 Intent 的形式产 生的一个请求和可以在任何时候被一个具有相同 IntentFilter 的新的 Activity 取代。
你定义它之前,被关联的元素必须定义。 如图 3 所示。
这个视图显示了屏幕元素的类名称, 下面是每个元素的属性列
表。 这些属性一部份是由 元 素 直 接 提 供 ,另 一 部 份 是 由 容 器 的 Lay-
outParams 成 员 (RelativeLayout 的 子 类 )提 供 。 RelativeLayout 参 数 有
3.2 使用 LayoutParams 对象指定位置和大小
每个 viewgroup 类都会使用一个继承于 Viewgroup.LayoutParams 的嵌套类。 这个子类包
含 了 一 系 列 的 属 性 类 型 ,这 些 属 性 类 型 定 义 一 个 子 对 象 位 置 和 大 小 ,与 view group 类 相 适
关 键 词 :Android;view;viewgroup;数 据 绑 定 ;布 局 中图分类号:TP311 文献标识码:B 文章编号:1009-3044(2009)29-8183-03
Research and Design of Interface Based on Android Technology
3.1 view 和 viewgroup 设计
view 是 android.view.View 基础类的对象。 它是一个存储有屏幕上特定的一个矩形内布局和内容属性的数据结构。 一个 View 对 象处理测距和布局,绘图,焦点变换,滚动条,还有屏幕区域自己表现的按键和手势。 viewgroup 是 android.view. viewgroup 类的对象。 viewgroup 是特殊的 view 对象,它的功能是去装 载和管理一组下层的 view 和其他 viewgroup。 在 Android 平台上,用 view 树和 viewgroup 节 点来定义一个 Activity 的 UI,如同图 2 一样。 这个树可以如你需要那样简单或者复杂,并且 你可以使用 Android 的预定义 widget 和 layout 或者你自定义的 view 类型来构建它。
收 稿 日 期 :2009-09-16 作 者 简 介 :赵 亮 (1982-),男 ,江 苏 徐 州 人 ,主 要 研 究 方 向 :移 动 开 发 ,计 算 机 网 络 。
本栏目责任编辑:谢媛媛
软件设计开发 8183
Computer Knowledge and Technology 电脑知识与技术
4) Content Provider。 应用程序能够将它们的数据保存到文件中、SQL 数据库中,甚至是任何有效的设备中。 Content Provider 实现 了应用数据与其它的应用的共享。 一个 Content Provider 类实现了一组标准的方法, 从而能够让其它的应用保存或读取此 Content Provider 处理的各种数据类型。
Tel:+86-551-5690963 5690964
基于 Android 技术的界面设计与研究
赵亮 1,张维 2
(徐州建筑职业技术学院,江苏 徐州 221000)
摘要: 详细介绍了 google 发布的新一代智能手机平台 Android 的基本架构, 通过对其应用程序构成框架的分析, 分析了构成 Android 应用程序的四种架构块的功能。 最后通过对视图和布局的介绍,给出一种使用 Android 技术的界面设计实现方案,并通过数据 绑定实现了用户事件映射。
wenku.baidu.com
及 Android 运行所需的特定驱动代码。 该层用来提供系统的底层服务 ,包 括 安 全 机 制 、内
存管理、进程管理、网络堆栈及一系列的驱动模块。 作为一个虚拟的中间层,该层位于硬件
与其它的软件层之间。 需要注意的是,这个内核操作系统并非类 GNU/Linux 的,所以其系
统库、系统初始化和编程接口都和标准的 Linux 系统有所不同的。 它没有采用虚拟内存文
第 5 卷第 29 期 (2009 年 10 月)
2) Intent Receiver。 通过 Intent Receiver 实现应用能够对一个外部的事件做出响应 ,Intent Receiver 在 AndroidManifest.xml 中注 册,但也可以在代码中使用 Context.registerReceiver()进行注册。 当一个 intent receiver 被触发时,应用不必对请求调用 intent receiver, 系统会在需要的时候启动你的应用。 各种应用还可以通过使用 Context.broadcastIntent()将它们自己的 intent receiver 广播给其它 应 用程序。
图 1 Android 平台的架构
同时 Android 提供了丰富的库类支持且大部分为开源代码。
3) 应用框架层:在应用框架层 Android 开发人员可以跟那些核心应用一样拥有访问框架 APIs 的全部权限。 应用的系结构化设
计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件。
1 Android 平台的架构
Android 平台自底向上由以下四个层次组成:Linux 内核层、运行时库和其他库层、应用框架层、应用程序层。 如图 1 所示。
1) Linux 内核层:Android 底层是一个基于 Linux 内核来开发的独立操作系统, 主要是添加了一个名为 Goldfish 的虚拟 CPU 以