Android开发之 Android应用程序目录结构解析
建立的HelloWorld的应用项目,其代码是由ADT插件自动生成的,形成Android项目特有的结构框架。
接下来让我带领大家解析一个Android程序的各个组成部分,这次我们拿一个Hello,World做例子,虽然只是一个Hello,World,但也是麻雀虽小五脏俱全,通过分析Hello,World的目录结构,让我们对Android程序有一个整体全面的认识。
一、创建一个Android 应用项目
启动Eclipse;
选择File->New->Project…;
选择Android 下的Android Project,单击Next按钮。
根据上面的目录结构,我们来分析一下
二 、目录解析
我们来大致了解一下安卓应用程序的目录的作用:
1. src目录
该目录下的文件存放Android应用程序中所有java源代码,自动地组织在用户定义声明的包内。
Activity是Android中的视图部分,负责界面显示。
2. gen目录
该目录下的文件是由ADT自动生成的,即包内的R.java文件。该文件为项目中的各个资源在该类中创建其唯一的ID。
从R文件中可以看到每一个资源都会有一个整数和它相对应。
3. Android4.4
建立不同版本的可能会有不同的依赖。
Android4.4 目录存放该项目支持的jar包。
作为一个Java项目,通常情况下都会引入要用到的工具类,也就是Jar包,在Android开发中,绝大部分开发用的工具包都被封装到一个名叫Android.jar的文件里了。
如果我们在Eclipse中展开来看,可以看到j2se中的包,apache项目中的包,还有Android自身的包文件。
在这里我们简单浏览一下Android的包文件:
android.content : 包含各种的对设备上的数据进行访问和发布的类
android.database : 通过内容提供者浏览和操作数据库
android.graphics : 底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location : 定位和相关服务的类
android.media : 提供一些类管理多种音频、视频的媒体接口
android.net : 提供帮助网络访问的类,超过通常的java.net.* 接口
android.os : 提供了系统服务、消息传输、IPC 机制
android.opengl : 提供OpenGL 的工具
android.provider : 提供类访问Android 的内容提供者
android.telephony : 提供与拨打电话相关的API 交互
android.view :提供基础的用户界面接口框架
android.util : 涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget : 包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用
4. assets
存放项目相关的资源文件
5. bin
该目录用于存放生成的目标文件,例如Java的二进制文件、资源打包文件(.ap_后缀)、Dalvik虚拟机的可执行性文件(.dex后缀),打包好应用文件(.apk后缀)等。
6. libs
该目录用于存放需要使用的第三方jar包文件。
7. res
该目录存放的是整个项目的经常使用的资源文件,新建一个项目,在该目录中自动建立以下目:
(1)drawable开头的四个目录:分别以三种尺寸存放png、 9.png、 jpg等图片资源。
(2)layout:存放应用程序的布局文件,文件类型为XML格式。新建项目时都有main.xml文件。
(3)values:存放所有XML格式的资源描述文件,例如字符串(strings.xml)、颜色(colors.xml)、样式(styles.xml) 、尺寸(dimens.xml)和数组(arrays.xml)等。
res目录中的文件命名:
以a-z、0-9、_字符命名文件名。
8. AndroidManifest.xml 文件
在每个应用程序的根目录都会有一个AndroidManifest.xml文件,该文件向Android操作系统描述了,本程序所包括的组件,所实现的功能,能处理的数据,要请求的资源等等。
学过Java Web开发的同学可以用Web应用程序里的web.xml来类比这个AndroidManifest.xml文件。
该文件为项目的系统控制文件,是每个Android项目必须的文件,位于项目的根目录。
9. proguard-project.txt 文件
proguard-project.txt文件是混淆代码的脚本配置文件。
10. project.properties 文件
project.properties文件是与当前应用所使用android的配置信息。