【Android论文栏目提醒】:以下是网学会员为您推荐的Android论文-毕业设计论文译文 安卓的界面布局和 API 级别的研究 - 毕业设计,希望本篇文章对您学习有所帮助。
安卓的界面布局和 API 级别的研究 (中原工学院软件学院 王轶 200877054524)摘要: 伴随着
Android 系统的快速发展,越来越来的生产商和开发商投入到安卓开发的领域,也有更多的用户将会使用和体验安卓系统的很多产品。
Iphone 的成功告诉我们便携式设备的发展趋向将更多的偏向于用户体验这一方面, 而用户体验就必然免不了安卓系统的界面, 界面布局是安卓开发的一个亮点, 它方便操作功能完善, 让开发者可以用合适的组件去开发出有更强的用户体验的应用。
另外在本文中还将研究到安卓的 API 的级别,随着安卓系统的发展,安卓系统的版本也越来越多,文中将涉及到对于这一部分知识的本人的愚见。
关键字 :
Android,布局,API XML 格式。
具体来说,
Android 认为基于1、介绍 XML 的布局是资源,因此布局文件存储在 res /在你的
Android 项目布局目录中。
Android 是一种以 Linux 为基础的开放 每个 XML 文件包含一个指定的部件和容器源码操作系统,主要使用于便携设备。
目前 布局元素树,一种意见认为构成层次。
对尚未有统一中文名称, 中国大陆地区较多人 XML 元素的属性,描述一个部件应如何看使用安卓 (非官方)或安致 。
(官方)
Android 或者一个容器应如何运转。
例如,如果一个操作系统最初由 Andy Rubin 开发,最初主 按钮元素。
要支持手机。
2005 年由 Google 收购注资, 有 一 个
Android 的 属 性 值 : 文 字 样 式 并组建开放手机联盟开发改良, 逐渐扩展到 “bold” ,这意味着该文本出现在按钮的表平板电脑及其他领域上。
Android 的主要竞 面应该是呈现一个粗体字体样式.争对手是苹果公司的 IOS 以及 RIM 的
Android 的 SDK 中附带一个使用的布局的工Blackberry OS。
2011 年第一季度,
Android 具 。
(aapt)这个工具应自动调用你的
Android在全球的市场份额首次超过塞班系统, 跃居 工具链 (例如, Eclipse 中,Ant’s build.xml)。
全球第一。
2011 年 11 月数据,
Android 占 作为一个开发人员,尤其重要的是,在您的据全球智能手机操作系统市场 52.5的份 项目中 aapt 生成 R.java 源文件, 让您能在那额,中国市场占有率为 58。
些布局中直接从 Java 代码中获取布局和部 件。
2、使用 XML 进行布局 为什么使用基于 XML 的布局? 使用 XML 布局文件做的大部分都可以通过 虽然纯粹通过 Java 代码在 activity 上创 Java 代码。
例如,你可以使用 setTypeface建和添加部件,在技术上是可行的,我们在 ()命令一个按钮使用粗体文本,而不是在第 4 章中做的一样, 更常见的方法是使用一 一个 XML 布局中使用属性。
由于 XML 布种基于 XML 的布局文件。
动态的小部件实 局是为你跟踪的另一个文件, 所以我们需要例保留更多,情况复杂,小工具在编译时不 好的理由来使用这样的文件。
为人所知(例如,在数据检索了互联网基础 也许最大的原因是为了在视图定义中协助上将单选按钮填充柱。
工具的建立,如 IDE 中一个 GUI 创建者像考虑到这一点,现在是时候打破 XML 来学 Eclipse 或者一个像 DroidDraw1 设计 GUI 图习 如 何 用 此 种 方 式 来 布 置
Android 形用户界面建设者。
这样 GUI 建设者们,activities。
在原则上,生成 Java 代码而不是 XML。
目什么是基于 XML 的布局? 前的挑战是重新阅读用户界面的定义, 以支正如其名称所示,一个基于 XML 的布局是 持编辑,也就是说,一个关系到每个规格的小部件, 和他们的容 如果是像 XLM 的结构公式数据比一个程序器(更多关于此内容的在第 7 章)编码的 语言中的数据简单的多。
此外,保持生成的XML 定义从手写的 Java 代码中分离,使得 其余的属性是此按钮实例属性:某人定制的来源意外重新生成不太可能。
android:文字表示的初始文本将显示在按XML 形成一个良好的中间立场,使工具作 钮(这种情况显示空字符串)家使用更简便, 程序员需要时手工工作更简
android : layout_width 和
Android :易。
layout_height 命令
android 有按钮的此外,XML 作为一个 GUI 定义格式是越来 宽度和高度填写 “parent” ,这种情况下,越普遍。
微软的 XAML,Adobe 的 Flex,和 整个屏幕。
将这些属性将在第 7 章中详解。
Mozilla 的 XUL 都采取
Android 类似的方法: 由于这个单一部件是 activity 的仅有内容,把布局细节放在一个 XML 文件和把编程智 我们只需要这一个因素。
复杂的用户界面将慧 资 料 放 在 源 文 件 ( 例 如 , XUL 中 的 需要整个树的元素,代表工具和容器,控制JavaScript)。
许多不太知名的图形用户界面 自己的定位。
所有的这本书余下的章节将使框架,如 ZK,还使用视图定义的 XML。
而 用 XML 布局,所以还有数十种更复杂的其“随大流”并不一定是最好的政策,但他们 他布局实例,请前进到第七章仔细阅读。
有优势帮助从任何其他 XML 为中心的观点 符号有什么用途?描述语言轻松进入
Android。
许多部件和容器只需要出现在 XML 布局文好了,那么基于 XML 的布局是什么样子 件,不须引用在 Java 代码。
例如,一个静的? 态标签(TextView)只需要在布局文件中以下面是以前的章节的示例应用程序按钮, 转 表明它应该出现在那里。
在 XML 文件中各换成一个 XML 布局文件,布局/ NowRedux 种元素文件不需要有
android:id 属性给他示例项目,在这一章中可以找到源代码的 们一个名称。
http://apress.com 领域。
任何你想要在 Java 资源中使用的东西,都ltxml versionquot1.0quot encodingquotutf-8quotgt 需要一个
android:id.ltButton 该公约是使用 id...作为 ID 值,其中的...xmlns:androidquothttp://schemas.
android.com/a 代表你 locallyunique 名称有问题的部件。
在pk/res/androidquot 上一节的 XML 布局的例子中, id 是按
android:idquotid/buttonquot 钮控件的标识符。
android:textquotquot
android 提供了一些特殊的
android:ID 值,
android:layout_widthquotfill_parentquot 形式
android:id/...我们将在这本书的不同
android:layout_heightquotfill_parentquot/gt 章节中看到这些,例如第八章和第十章。
部件,按钮的类名称形成 XML 元素的 我们将这些附加到 Java…如何?名称。
因为按钮是
Android 提供的部件,我 既然你有意建立一个 XML 配置文件的工具们可以只使用裸类的名称。
如果您创建自己 和容器,名为 main.xml 存储 res/layout,所的部件作为
android.view.View 子小部件, 您 有你需要的是一个在您 activity 的 OnCreate也将需要提供一个完整的包声明(如 ()回调以使用该版式:com.commonsware.
android.MyWidget) 。
setContentView(R.layout.main)根元素需要
Android 的 XML 命名空间声明: 这是相同的 setContentView() ,我们前面使xmlns:androidquothttp://schemas.
android.com/a 用,通过它的一个视图子类的实例(在这种pk/res/androidquot 情况下, 。
一个按钮) 该
android 制造的观点,所有其他要素将成为子根并继承该命名空 来自我们的布局,是从访问该代码生成的 R间的声明。
类。
所有的布局都可以访问 R.layout,由基因为我们要引用这个来自 Java 代码的按钮, 地键控布局文件的名称- main.xml result in我们需要通过
android 给它一个标识符:id R.layout.main.属性。
我们将在本章后面更详细的介绍这个 要访问确定部件,使用 findViewById() ,概念。
在数字标识符传递有问题的部件。
这一数字标 识 符 生 成 的 R 类 由
android 在 另一个不同是,我们需要亲手实验按钮实R.id.something (其中一些是你正在寻找的具 例,我们使用 findViewById()调用。
既然体部件) 。
这些部件是只是子类的视图,就 我们发现按钮为 id/button我们可以参考像我们在第四章中创建 Button 实例。
按钮的标识符 R.id.button。
现在,随着手手剩下的部分 头上的在原始的 Now 演示中,按钮的表面便会显 实例, 我们可以设置回调并根据需要设置标示当前的时间, 这将反映当按钮被最后按下 签。
时显示的时间 (或者如果在按钮尚未被按下 正如你可以看到如图 5-1,结果看起来与原时显示) 。
始的 Now 演示一样。
这种逻辑仍然适用,即使在该修订演示 使用基本部件(NowRedux)中。
尽管如此,在 activity’s 每一个 GUI 工具包都有一些基本的部件:onCreate callback 中的实例,我们可以从 字段,标签,按钮等,
Android 的工具包在XML 的布局参考一个例子: 范围内没有不同, 其基本部件将提供一个良package com.commonsware.
android.layouts 好 的 介 绍 , 关 于 这 些 部 件 在 Androidimport
android.app.Activity activities 中是如何运行的。
import
android.os.Bundle 指派标签import
android.view.View 最简单的部件是标签,在
Android 提到的作import
android.widget.Button 为一个 TextView。
像大多数的 GUI 工具包,import java.util.Date 标签的文本是不可被用户直接编辑的。
通常public class NowRedux extends Activity 情况下,它们被用来确定相邻部件(例如,implements View.OnClickListener 一个“前的标签) 。
Button btn 在 Java 中,你可以通过创建一个 TextViewOverride 的实例 l 来创建一个标签。
更常见的, 虽然,public void onCreateBundle icicle 你将通过添加一个 TextView 元素到布局来super.onCreateicicle 在 XML 布 局 文 件 中 创 建 标 签 , 与 一 个setContentViewR.layout.main
Android:文本属性来设置标签的本身价值。
btnButtonfindViewByIdR.id.button 如果您需要交换基于某些标准的标签, 例如btn.setOnClickListenerthis 国际化,你可能想使用 XML 中的资源参考updateTime 代替,这些将在第 9 章叙述。
TextView 有 许多相关的其他标签属性,如:public void onClickView view
android:typeface to set the typeface to useupdateTime for the label e.g. monospace
android:textStyle to indicate that theprivate void updateTime typeface should be made bold bold italicbtn.setTextnew Date.toString italic or bold and italic bold_italic
android:textColor to set the color of the第一个区别是,在 Java 代码中设置内容视 label’s text in RGB hex format e.g. FF0000图作为视图,我们将它设置为引用的 XML for red )布局(setContentView(R.layout.main)。
该 例如,在 Basic/Label 项目中,你将找到下R.java 源文件将被更新,当我们重建这个项 列布局文件:目,包括对我们布局参考文件(存储在 ltxml versionquot1.0quot encodingquotutf-8quotgtmain.xml in our project’s res/layout ltTextViewdirectory )。
xmlns:androidquothttp://schemas.
android.com/apk/res/androidquot 类 TextView。
android:layout_widthquotfill_parentquot 除了这些, 你可以使用专门配置字段输入方
android:layout_heightquotwrap_contentquot 如 法,
android: 仅数字输入 numeric,
android:
android:textquotYou were expecting something 为 笼 罩 密 码 输 入 密 码 , 还 有
Android :profoundquot phoneNumber 进入电话号码。
如果你想创建/gt 自己的输入 由 只是单独的布局,
android 的项目生成 法计划(如邮政编码,社会安全号码) ,您器提供的 Java 源的(如 activityCreator),生 需要创建自己的执行情况 InputMethod 接成应用程序。
口,然后通过
android 设定字段来使用:按钮,归属于谁? inputMethod。
我们已经在第 4 和第 5 章看到了按钮部件用 另一个字段的特色,提供自动完成,以法。
按钮是文本视图的一个子类,所以一切 帮助用户在整个无文本输入一个值。
这是作都在上一节讨论了, 按钮格式所面临的问题 AutoCompleteTextView 部件在
Android 中提仍然成立。
供的并将在第 8 章讨论。
短暂的图像 另一种复选框
Android 有两个部件,来帮助你将照片 经典的复选框有两种状态: 选中的和未嵌入 activities:ImageView 和 ImageButton。
选中的。
在这两种状态之间点击复选框切换正如名称所暗示的, 他们是分别对于文本视 来图和按钮基于图像的类似物。
指示选择(例如, “添加快递到我的命令”。
)每个部件带有一个
android:src 属性(在一 在
Android 中,还有一个 CheckBox 控件, ,个 XML 布局中) 指明使用什么图片。
这些 以满足这种需要。
它作为一个 TextView 先通常引用一个可绘制的资源, 在讲资源的这 驱,因此您可以像
Android 使用 TextView 性个章节中更详细地描述了。
您还可以通过 能:格式部件添加文字颜色。
setImageURI ()从内容提供商在 Uri 基础上 在 Java 中,你可以调用:设置图像。
isChecked to determine if the checkbox has ImageButton 控件,一个 ImageView 子 been checked类,混合在标准按钮行为中,应对点击和诸 setChecked to force the checkbox into a如此类的东西。
checked or unchecked state例如,从 Basic/ImageView 样本项目中看 toggle to toggle the checkbox as if the usermain.xml 布局,这可以在 http://apress.com checked it以及所有其他代码示例种找到。
此外,当复选框的状态发生改变时,你ltxml versionquot1.0quot encodingquotutf-8quotgt 可以注册一个侦听器(这种情况下,一个ltImageView OnCheckedChangeListener 实例)来提醒。
xmlns:androidquothttp://schemas.
android.com/a 请注意为复选框的状态变化 activity 作pk/res/androidquot 为其自身的一个监听器,因为它执行
android:idquotid/iconquot OnCheckedChangeListener 分 界 面 ( 通 过
android:layout_widthquotfill_parentquot 。
cb.setOnCheckedChangeListenerthis) 回调
android:layout_heightquotfill_parentquot 侦听器在 onCheckedChanged() ,它接收复
android:adjustViewBoundsquottruequot 选框的状态有什么新的变化和状态。
在这种
android:srcquotdrawable/moleculequot 情况下, 我们更新了文本的复选框来反映复/gt 选框中包含的实际内容。
紧接着按钮和标签,字段是大多数 GUI 工 由于与其他单选按钮在其他工具包执行时,具包的第三个“锚” 。
在
Android 中,他们
Android 的单选按钮是两种状态, 如复选框,通过 EditText 部件运行,它是标签的一个子 但可分为这样, 只有一组中的单选按钮可以随时选中。
保一旦您禁用操作完成,正确的部件具有焦像复选框,RadioButton 从 CompoundButton 点。
中继承,从而继承了 TextView。
因此,所有的标准 TextView 的字体,样式,颜色等特 3、
Android API 级别性,可用于控制单选按钮的外观。
同样,您可以在一个单选按钮上调用 isChecked() , 当你开发你的
Android 应用程序时,了看看它是否被选中,切换()来选择它,等 解该平台 API 变更管理的基本方法和概念等,就像你可以用一个复选框。
是很有帮助的。
同样的,知道 API 级别标识大多数时候,你会想要在 RadioGroup 里面 以及该标识如何保障你的应用与实际硬件放 进 一 个 RadioButton 的 小 部 件 。
该 设备相兼容对于开发及后续的发布、 维护都RadioGroup 表明其状态的单选按钮设置联 是有益的。
系在一起, 这意味着只有一个按钮退出组可 本节内容告诉你 API 级别的知识, 以及以在任何时间选择。
如果您指派一个 它如何影响你开发和使用的应用。
android:在您的 XML 布局中 ID 到你的 关于如何使用“以 API 级别进行过滤”来使用RadioGroup, 您可以访问您的 Java 代码和调 API 参 考 手 册 , 从 本 文 末 尾 的 文 档 过 滤用组。
Filtering the documentation中可以得到更 请注意, 单选按钮组最初设置为在一开 多信息。
始就完全畅通无阻。
预先设定的一个单选按 API 级别是什么?API 级别是一个整数 在钮被选中, RadioButton 上使用 setChecked 值,它唯一标识了一个具体版本的
Android()或从您的 OnCreate()在 activity 中回 平台,及其框架的 API 的版本。
调,在 RadioGroup 上选中() 。
Android 平台提供了一套框架 API,使得应所有部件, 包括以前的那些示例, 扩展视图, 用程序可以与系统底层进行交互。
该框架这样使所有部件一系列有用的性能, 并超越 API 由以下模块组成:那些已经介绍的方法。
一组核心的包和类视图中最有可能被使用的某些属性,包括: 清单manifest文件的 XML 元素和属性声明 Controls the focus sequence: 资源文件的 XML 元素和属性声明及访问形
android:nextFocusDown 式
android:nextFocusLeft 各类意图Intents
android:nextFocusRight 应用程序可以请求的各类授权, 以及系统中
android:nextFocusUp 包含的授权执行
android:visibility whic.