AndroidHelloworld深入程序

上传人:xy****7 文档编号:47699496 上传时间:2018-07-04 格式:PDF 页数:5 大小:215.60KB
返回 下载 相关 举报
AndroidHelloworld深入程序_第1页
第1页 / 共5页
AndroidHelloworld深入程序_第2页
第2页 / 共5页
AndroidHelloworld深入程序_第3页
第3页 / 共5页
AndroidHelloworld深入程序_第4页
第4页 / 共5页
AndroidHelloworld深入程序_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《AndroidHelloworld深入程序》由会员分享,可在线阅读,更多相关《AndroidHelloworld深入程序(5页珍藏版)》请在金锄头文库上搜索。

1、引言引言前面 Android 开发之旅:环境搭建及 HelloWorld,我们介绍了如何搭建 Android 开发环境 及简单地建立一个 HelloWorld 项目,本篇将通过 HelloWorld 项目来介绍 Android 项目的 目录结构。本文的主要主题如下:1、HelloWorld 项目的目录结构1.1、src 文件夹1.2、gen 文件夹1.3、Android 2.1 文件夹1.4、assets1.5、res 文件夹1.6、AndroidManifest.xml1.7、default.properties1 1、HelloWorldHelloWorld 项目的目录结构项目的目录结构(

2、这个 HelloWorld 项目是基于 Android 2.1 的)在 Eclipse 的左侧展开 HelloWorld 项目, 可以看到如下图的目录结构:图 1、HelloWorld项目目录结构下面将分节介绍上面的各级目录结构。1.11.1、srcsrc 文件夹文件夹顾名思义(src, source code)该文件夹是放项目的源代码的。打开 HelloWorld.java 文件 会看到如下代码:HelloWorld.java可以知道:我们新建一个简单的 HelloWorld 项目,系统为我们生成了一个 HelloWorld.java 文件。他导入了两个类 android.app.Activ

3、ity 和 android.os.Bundle,HelloWorld 类继承 自 Activity 且重写了 onCreate 方法。以下说明针对没有学过 Java 或者 Java 基础薄弱的人Override在重写父类的 onCreate 时,在方法前面加上Override 系统可以帮你检查方法的正确性。例如,public void onCreate(Bundle savedInstanceState).这种写法是正确的,如果你写成 publicvoid oncreate(Bundle savedInstanceState).这样编译器回报如下错误The method oncreate(Bu

4、ndle) of type HelloWorld must override or implement a supertype method, 以确保你正确重写 onCreate 方法。(因为 oncreate 应该为 onCreate)而如果你不加Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法 oncreate。android.app.Activity 类:因为几乎所有的活动(activities)都是与用户交互的,所以 Acti vity 类关注创建窗口,你可以用方法 setContentView(View)将自己的 UI 放到里面。然而活 动通常以全屏的方式展示

5、给用户, 也可以以浮动窗口或嵌入在另外一个活动中。 有两个方法 是几乎所有的 Activity 子类都实现的:1.onCreate(Bundle):初始化你的活动(Activity),比如完成一些图形的绘制。最重 要的是,在这个方法里你通常将用布局资源(layout resource)调用 setContentView(int)方法定义你的 UI, 和用 findViewById(int)在你的 UI 中检索你需要编程地交 互的小部件(widgets)。setContentView 指定由哪个文件指定布局(main.xml), 可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成

6、为一个 意图,然后这个意图对应有相关的 activity 进行处理。 2.onPause():处理当离开你的活动时要做的事情。最重要的是,用户做的所有改变应 该在这里提交(通常 ContentProvider 保存数据)。更多的关于 Activity 类的详细信息此系列以后的文章将做介绍, 如果你想了解更多请参阅相 关文档。android.os.Bundle 类:从字符串值映射各种可打包的(Parcelable)类型(Bundle 单词就 是捆绑的意思,所有这个类很好理解和记忆)。如该类提供了公有方法public booleancontainKey(String key),如果给定的 key

7、包含在 Bundle 的映射中返回 true,否则返回 fal se。该类实现了 Parceable 和 Cloneable 接口,所以它具有这两者的特性。1.21.2、gengen 文件夹文件夹该文件夹下面有个 R.java 文件,R.java 是在建立项目时自动生成的,这个文件是只读模式 的,不能更改。R.java 文件中定义了一个类R,R 类中包含很多静态类,且静态类的名 字都与 res 中的一个名字对应,即 R 类定义该项目所有资源的索引。看我们的 HelloWorld 项目是不是如此,如下图:图 2、R.java 对应 res通过通过 R.java 我们可以很快地查找我们需要的资源我

8、们可以很快地查找我们需要的资源,另外编绎器也会检查另外编绎器也会检查 R.java 列表中的列表中的 资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占 用的空间。用的空间。1.31.3、AndroidAndroid 2.12.1 文件夹文件夹该文件夹下包含 android.jar 文件,这是一个 Java 归档文件,其中包含构建应用程序所需 的所有的 Android SDK 库(如 Views、Controls)和 APIs。通过 android.jar 将自己的应 用程序绑定到 And

9、roid SDK 和 Android Emulator, 这允许你使用所有 Android 的库和包, 且使你的应用程序在适当的环境中调试。例如上面的 HelloWorld.java 源文件中的:import android.app.Activity; import android.os.Bundle;这里两行代码就是从 android.jar 导入包。1.41.4、assetsassets包含应用系统需要使用到的诸如 mp3、视频类的文件。1.51.5、resres 文件夹文件夹资源目录,包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被 R.j ava 自动记录。新建一个项

10、目,res 目录下会有三个子目录:drawabel、layout、values。drawabel-?dpi:包含一些你的应用程序可以用的图标文件(*.png、*.jpg)layout:界面布局文件(main.xml)与 WEB 应用中的 HTML 类同,没修改过的 main.xml 文件如下(HelloWorld 的就没有修改过):main.xmlvalues:软件上所需要显示的各种文字。可以存放多个*.xml 文件,还可以存放不同 类型的数据。比如 arrays.xml、colors.xml、dimens.xml、styles.xml1.61.6、AndroidManifest.xmlAnd

11、roidManifest.xml项目的总配置文件, 记录应用中所使用的各种组件。 这个文件列出了应用程序所提供的功能, 在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、 GPS 服务等等)。另外当你新添加一个 Activity 的时候,也需要在这个文件中进行相应配置, 只有配置好后,才能调用此 Activity。AndroidManifest.xml 将包含如下设置:application permissions、Activities、intent filters 等。如果你跟我一样是 ASP.NET 出生或者学过, 你会发现 AndroidManifest.x

12、ml 跟 web.config 文件很像,可以把它类同于 web.config 文件理解。如果你不是,你可以这样理解众所周知 xml 是一种数据交换格式,AndroidManifest.xml 就是用来存储一些数据的,只不过这些数据时关于 android 项目的配置数据。HelloWorld 项目的 AndroidManifest.xml 如下所示:AndroidManifest.xml关于 AndroidManifest.xml 现在就讲这么多,此系列后面的文章将单独详细介绍。1.71.7、default.propertiesdefault.properties记录项目中所需要的环境信息,比如 Android 的版本等。 HelloWorld 的 default.properti es 文件代码如下所示,代码中的注释已经把 default.properties 解释得很清楚了:default.properties

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号