资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
毕业论文(设计)外文资料翻译学 院: 专业班级: 学生姓名: 学 号: 指导教师: 外文出处:(外文) Beginning Android.Mark Murphy. 2009.6 附 件:1.外文资料翻译译文; 2.外文原文 指导教师评语:翻译材料与毕业设计内容相关度较高,学生能够按时完成外文翻译任务,翻译材料能与原文能保持一致,能正确表达出原文意思,且字数符合要求。签名: 年 月 日1外文资料翻译译文Android起航1 使用XML进行布局虽然纯粹通过Java代码在activity上创建和添加部件,在技术上是可行的,我们在第4章中做的一样,更常见的方法是使用一种基于XML的布局文件。动态的小部件实例保留更多,情况复杂,小工具在编译时不为人所知。例如,在数据检索了互联网基础上将单选按钮填充柱。考虑到这一点,现在是时候来学习如何用此种方式来布置Android activities。1.1 什么是基于XML的布局?正如其名称所示,一个基于XML的布局是一个关系到每个规格的小部件,和他们的容器(更多关于此内容的在第7章)编码的XML格式。具体来说,Android认为基于XML的布局是资源,因此布局文件存储在res /在你的Android项目布局目录中。每个XML文件包含一个指定的部件和容器布局元素树,一种意见认为构成层次。对XML元素的属性,描述一个部件应如何看或者一个容器应如何运转。例如,如果一个按钮元素。有一个Android的属性值:文字样式=“bold”,这意味着该文本出现在按钮的表面应该是呈现一个粗体字体样式.Android的SDK中附带一个使用的布局的工具(aapt)。这个工具应自动调用你的Android工具链(例如,Eclipse中,Ants build.xml)。作为一个开发人员,尤其重要的是,在您的项目中aapt生成R.java源文件,让您能在那些布局中直接从Java代码中获取布局和部件。1.2 为什么基于XML的布局?使用XML布局文件做的大部分都可以通过Java代码。例如,你可以使用setTypeface()命令一个按钮使用粗体文本,而不是在一个XML布局中使用属性。由于XML布局是为你跟踪的另一个文件,所以我们需要好的理由来使用这样的文件。也许最大的原因是为了在视图定义中协助工具的建立,如IDE中一个GUI创建者像Eclipse或者一个像DroidDraw1设计GUI图形用户界面建设者。这样GUI建设者们,在原则上,生成Java代码而不是XML。目前的挑战是重新阅读用户界面的定义,以支持编辑,也就是说,如果是像XLM的结构公式数据比一个程序语言中的数据简单的多。此外,保持生成的XML定义从手写的Java代码中分离,使得某人定制的来源意外重新生成不太可能。XML形成一个良好的中间立场,使工具作家使用更简便,程序员需要时手工工作更简易。此外,XML作为一个GUI定义格式是越来越普遍。微软的XAML,Adobe的Flex,和Mozilla的XUL都采取Android类似的方法:把布局细节放在一个XML文件和把编程智慧资料放在源文件(例如,XUL中的JavaScript)。许多不太知名的图形用户界面框架,如ZK,还使用视图定义的XML。而“随大流”并不一定是最好的政策,但他们有优势帮助从任何其他XML为中心的观点描述语言轻松进入Android。好了,那么基于XML的布局是什么样子的?下面是以前的章节的示例应用程序按钮,转换成一个XML布局文件:部件,按钮的类名称形成XML元素的名称。因为按钮是Android提供的部件,我们可以只使用裸类的名称。如果您创建自己的部件作为android.view.View子小部件,您也将需要提供一个完整的包(如com.commonsware.android.MyWidget)。因为我们要引用这个来自Java代码的按钮,我们需要通过android给它一个标识符:id属性。我们将在本章后面更详细的介绍这个概念。其余的属性是此按钮实例属性:android:文字表示的初始文本将显示在按钮(这种情况显示空字符串)android:layout_width和Android:layout_height命令android有按钮的宽度和高度填写 “parent”,这种情况下,整个屏幕。将这些属性将在第7章中详解。由于这个单一部件是activity的仅有内容,我们只需要这一个因素。复杂的用户界面将需要整个树的元素,代表工具和容器,控制自己的定位。所有的这本书余下的章节将使用XML布局,所以还有数十种更复杂的其他布局实例,请前进到第七章仔细阅读。1.3 符号有什么用途?许多部件和容器只需要出现在XML布局文件,不须引用在Java代码。例如,一个静态标签(TextView)只需要在布局文件中以表明它应该出现在那里。在XML文件中各种元素文件不需要有android:id属性给他们一个名称。任何你想要在Java资源中使用的东西,都需要一个android:id 。该公约是使用 +id.作为ID值,其中的.代表你locallyunique名称有问题的部件。在上一节的XML布局的例子中, +id是按钮控件的标识符。android提供了一些特殊的android:ID值,形式android:id/.我们将在这本书的不同章节中看到这些,例如第八章和第十章。我们将这些附加到Java如何?既然你有意建立一个XML配置文件的工具和容器,名为main.xml存储res/layout,所有你需要的是一个在您activity的OnCreate()回调以使用该版式:setContentView(R.layout.main);这是相同的setContentView(),我们前面使用,通过它的一个视图子类的实例(在这种情况下,一个按钮)。该android制造的观点,来自我们的布局,是从访问该代码生成的R类。所有的布局都可以访问R.layout,由基地键控布局文件的名称- main.xml result in R.layout.main.要访问确定部件,使用findViewById(),在数字标识符传递有问题的部件。这一数字标识符生成的R类由android在R.id.something(其中一些是你正在寻找的具体部件)。这些部件是只是子类的视图,就像我们在第四章中创建Button实例。剩下的部分在原始的Now演示中,按钮的表面便会显示当前的时间,这将反映当按钮被最后按下时显示的时间(或者如果在按钮尚未被按下时显示)。这种逻辑仍然适用,即使在该修订演示(NowRedux)中。尽管如此,在activitys onCreate() callback中的实例,我们可以从XML的布局参考一个例子:package com.commonsware.android.layouts;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.util.Date;public class NowRedux extends Activityimplements View.OnClickListener Button btn;Overridepublic void onCreate(Bundle icicle) super.onCreate(icicle);setContentView(R.layout.main);btn=(Button)findViewById(R.id.button);btn.setOnClickListener(this);updateTime();public void onClick(View view) updateTime();private void updateTime() btn.setText(new Date().toString();第一个区别是,在Java代码中设置内容视图作为视图,我们将它设置为引用的XML布局(setContentView(R.layout.main)。该R.java源文件将被更新,当我们重建这个项目,包括对我们布局参考文件(存储在main.xml in our projects res/layout directory )。另一个不同是,我们需要亲手实验按钮实例,我们使用findViewById()调用。既然我们发现按钮为 +id/button,我们可以参考按钮的标识符R.id.button。现在,随着手手头上的实例,我们可以设置回调并根据需要设置标签。2 使用基本组件 每一个GUI工具包都有一些基本的部件:字段,标签,按钮等,Android的工具包在范围内没有不同,其基本部件将提供一个良好的介绍,关于这些部件在Android activities中是如何运行的。指派标签是最简单的部件是标签,在Android提到的作为一个TextView。像大多数的GUI工具包,标签的文本是不可被用户直接编辑的。通常情况下,它们被用来确定相邻部件(例如,一个“姓名:”一个填充姓名前的标签)。在Java中,你可以通过创建一个TextView的实例l来创建一个标签。更常见的,虽然,你将通过添加一个TextView元素到布局来在XML布局文件中创建标签,与一个Android:文本属性来设置标签的本身价值。如果您需要交换基于某些标准的标签,例如国际化,你可能想使用XML中的资源参考代替,这些将在第9章叙述。例如,在Basic/Label项目中,你将找到下列布局文件:TextView xmlns:android=http:/schemas.android.com/apk/res/androidandroid:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:text=You were expecting something profound?只是单独的布局,由android的项目生成器提供的Java源的(如activityCreator),生成应用程序。我们已经在第4和第5章看到了按钮部件用法。按钮是文本视图的一个子类,所以一切都在上一节讨论了,按钮格式所面临的问题仍然成立。Android有两个部件,来帮助你将照片嵌入activities:ImageView和ImageButton。正如名称所暗
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号