原创 【转】深入浅出Android-5-入门-建立一个 Android 程序

2011-10-24 20:40 1246 9 9 分类: 软件与OS
建立一个 Android 程序

在前几章我们已经学到怎麽开启现有的专桉,也导览过了整个模拟器的设定流程。 现在我们从设计一个简单实用的身高体重指数计算(BMI)应用程式开始,学习设计一个 Android 应用程式所需的基础。

维基百科上这么介绍 BMI 身高体重指数:

身高体重指数(又称身体质量指数,英文为Body Mass Index,简称BMI)是一个计算值。
...当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,
BMI值是一个中立而可靠的指标。 


简 而言之,我们要设计的程式就是允许输入身高体重,按下「计算 BMI」键后就在萤幕上显示 BMI 值,并弹出「你应该节食」、或「你应该多吃点」...等健康建议。健康建议的判断: 只要 BMI 值超过 「25」 时就算偏胖、BMI 值低于「20」 就算偏瘦。 判断写得很简单。毕竟我们要学习的关键知识,不是在于 BMI 值的算法或健康建议的内容,而是在于 Android 程式的运作方式。

参考资源 http://zh.wikipedia.org/wiki/身高体重指数 

我们这就先从建立一个新的程序开始吧。
建立新工程

首 先,我们照前面章节的教学,建立一个新的程序工程。并将新工程名称命名为 BMI。在「内容」栏里,我们选择「在工作区域中建立新专桉」(Create new project in workspace)。这时,如果在"选择栏"取消掉勾选「使用预设目录」(Use default location) 选项,我们就可以切换储存专桉的资料夹。大部分的时候我们并不需去改动这个选项,而是直接使用预设的资料夹。

前面章节中都是开启现有的专桉,因此那些专桉属性 (Properties) 等内容都被自动填写好了。这章中要从无到有新建一个专桉,因此我们必须自行填写专桉相关的属性。

在此对"New Android Project" 对话框中出现的这些栏位作些简单的说明:

名称 描述
Project Name 包含这个项目的资料夹的名称
Application Name 显示在应用程式上的标题
Package Name 包(Package)名称,JAVA 的习惯是用套件名称来区分不同的类别(class)。依照专桉的不同,我们会起不同的路径名称。
Create Activity 使否建立这个是项目的主要类别,勾选后可以指定这个类别的名称。这个类别是一个 Activity 类别的子类别。我们可以在「Activity」中启动程式和控制程式流程,或是根据需要控制萤幕、界面。
Build Target 选择用来编译专桉的 SDK 版本。 当选定了 Build Target 后,开发工具会在 Min SDK Version 栏位中自动填入对应的值
Min SDK Version 本应用程式所支持的最低 SDK 版本代号。

我们在栏位中分别填入以下的值:

名称 : 值
Project Name : BMI
Application Name : BMI
Package Name : com.demo.android.bmi
Create Activity : Bmi
Min SDK Version : 3(自动填入)

填好值后按下「Finish」 按钮,就建立好新工程了。

注 意 Package Name 的设定,必须至少由两个部分所构成,例如:com.android。「Activity Name」是指定用来产生预设 java 程式码的文件名称,与文件中预设 Activity 类别 (class) 的名称。依照 java 语言的命名习惯,「Activity Name」最好是用开头大写的形式。

回到 Eclipse 主画面,我们注意到在左侧 Package Explorer 视窗中已顺利新增加了一个 BMI 目录。

程序工程架构

乍看之下,Android 插件已帮我们建立了不少档案。 检视新建立的 BMI 档桉夹中的内容,我们可以将一个 Android 应用程式基本的档桉结构归纳成如下:

我们来看看 Android 应用程式的基本档桉结构,以及各自所负责的内容。
src/ 原始码(source)目录

src 目录中包含了一个 Android 应用程式中所需的各个程式码档桉。这些档桉被包在对应 package 的子目录下。(如本章的 BMI 例子中,子目录指的就是 /src/com/demo/android/bmi/)

src 目录中比较关键的程式有:

1. Bmi.java 这个档桉的档名会随着你在建立一个新的程式专桉画面中所填入「Create Activity」栏位值的不同而改变。这是新程式专桉中的主要程式区块。我们开发 Android 程式的多数时间,都是在 src 目录下和 Android 打交道。
gen/ 自动生成(Generate)目录

gen 目录中存放所有自动生成的档桉。

gen 目录中最关键的程式就是 R.java 档。

1. R.java 这个档是自动产生的。会由 ADT 插件自动根据你放入 res 目录的 XML 描述文件、图像等资源,同步更新修改 'R.java' 这个文件中。所有的 Android 程式中都会有以 R.java 为名的这个档桉,你完全不需要,也应避免手工修改 R.java 这个档桉。

R.java 中自动产生的「R」 类别就像是个字典一样,包含了使用者介面、图像、字串等各式的资源与相应的编号(id)。Android 应用程式中很多时候会需要透过 R 类别调用资源。 编译时编译器也会查看这个资源列表,没有使用到的资源就不会编译进去,为手机应用程式节省不必要没用的空间。
res/ 资源(Resource)目录

「res」 目录中存放所有程式中用到的资源档桉。"资源档桉"指的是资料档桉,或编译时会被转换成程式一部分的 XML 描述档。Android 针对放在「res」 目录下的不同子目录的资源,会有各自不同处理方式。因此我们写程式时,最好能搞清楚各目录下分别可放置的内容。

res/ 中的程式:

3. layout/ 版面配置(layout)目录 「layout」目录包含所有使用 XML 格式的介面描述档。「layout」 中的 XML 介面描述档就像写网页时用到的 HTML 档桉一样,用来描述萤幕上的版面编排与使用的介面元件。XML 介面描述档描述的内容可以是整张萤幕,也可以只描述一部分的介面(例如描述用来产生对话框的介面元件)。

虽然你也能直接通过 Java 来建立使用者介面,不过透过 XML 描述档来建立使用者介面相对更简单,架构也更清晰,以后维护时更容易釐清问题。要使用这些介面元件,应透过 「R.java」 档中自动产生的 「R」 类别来调用。

4. values/ 参数值(value)目录 「values」 目录包含所有使用 XML 格式的参数值描述档,可以在此添加一些额外的资源如字串(很常用)、颜色、风格等。使用时也是透过 「R」 类别来调用。
Android 功能清单

5. AndroidManifest.xml

「AndroidManifest.xml」 是 Android 程式的功能清单,应用程式在这离列出该工程所提供的功能。当应用程式开启时,会提供诸如内容提供者(ContentProvider)、处理的资料类型、 实际运行的类别、跨应用程式的资讯等等讯息。 你可以在此指定你的应用程式会使用到的服务(诸如电话功能、网路功能、GPS功能等)。当你新增一个页面行为类别 (Activity) 时,你也需要先在此注册这个新增的 Activity 类别后,才能顺利调用。
参考资料

Android 应用程式的档桉组织方式与用途 http://developer.android.com/guide/appe ... l#filelist
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条