Android开发教程05:Android项目的目录结构
2015-11-19 11:26
295 查看
通过前两节,我们分别介绍了在Windows7和Ubuntu上搭建Android的开发环境,本节我们将新建一个HelloWorld项目,以此来介绍一下Android项目的目录结构。打开Eclipse,我们新建一个Android项目:HelloWorld。
HelloWorld项目目录结构
下面将分别介绍一下上面的各级目录结构。
1、src文件夹
使用Eclipse做过Java开发的都应该知道,src文件夹是项目的所有包及源文件(.java)目录。
2、gen文件夹
该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java是项目资源的索引文件,并且文件中的属性都是public static final的,可以直接引用。当我们定义了一个资源文件的时候,ADT都会自动为我们生成一个唯一的ID并在R.java中定义,这样我们就可以在代码中直接引用。所以我们可以不用管这个文件。
3、android.jar
就像我们一般java项目要引入其他的包一样,比如我们在做SSH开发的时候,也要导入Struts、Spring、Hibernate相关的jre包。android.jar其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。不同版本的sdk,提供的API也不同,同时运行的环境也就不同,比如你使用android sdk2.2开发的程序就不能在android sdk1.6版本的手机上运行。
4、assets文件夹:
assets是android提供的一个存放资源的文件夹,初始时为空。与/res文件夹不同的是,在/assets目录下的资源不会自动在R.java中生成ID,读取其下的文件必须指定文件路径。assets一般包含应用系统需要使用到的诸如mp3、视频类的文件。可以通过AssetManager类来访问这些文件.
5、res文件夹
包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录,常用的有
res/drawable/ 用来存放图片文件
res/layout/ 用来存放布局定义文件
res/values/ 用来存放一些变量、参数等文件
其中 drawable 是放图片的,有 drawable-hdpi,drawable-ldpi,drawable-mdpi 之分,对应的是高密度图片,低密度图片,和中等密度的图片,如果你要使用一个图片,你根据密度的不同做了三种相同的图片分别放到这三个文件夹里,那么你的应用运行在不同分辨率机器上的时候,就会根据该机器的分辨率自动选择合适的图片
6、AndroidManifest.xml文件
项目的总配置文件,记录应用中所使用的各种组件。如果你做过Java Web开发,这个文件就相当于Web应用中的web.xml文件一样。AndroidManifest.xml文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)、权限等。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent
filters等。我们将会在下一讲详细的介绍这个文件。
7、proguard.cfg
由于各种反编译工具的泛滥,从Android SDK2.3起,我们就可以使用Android混淆器proguard.cfg来防止程序被反编译,也其实就是将变量的名称混淆一下,降低程序的可读性。我们只需要在default.properties文件中添加一行proguard.config=proguard.cfg即可。
8、default.properties
这个也是项目自动生成的,记录项目中所需要的环境信息,比如Android的版本等。当出现类似于“ Unable to resolve target ‘android-5’”类的错误时,可以在此文件中修改API版本来解决。
HelloWorld项目目录结构
下面将分别介绍一下上面的各级目录结构。
1、src文件夹
使用Eclipse做过Java开发的都应该知道,src文件夹是项目的所有包及源文件(.java)目录。
2、gen文件夹
该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java是项目资源的索引文件,并且文件中的属性都是public static final的,可以直接引用。当我们定义了一个资源文件的时候,ADT都会自动为我们生成一个唯一的ID并在R.java中定义,这样我们就可以在代码中直接引用。所以我们可以不用管这个文件。
3、android.jar
就像我们一般java项目要引入其他的包一样,比如我们在做SSH开发的时候,也要导入Struts、Spring、Hibernate相关的jre包。android.jar其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。不同版本的sdk,提供的API也不同,同时运行的环境也就不同,比如你使用android sdk2.2开发的程序就不能在android sdk1.6版本的手机上运行。
4、assets文件夹:
assets是android提供的一个存放资源的文件夹,初始时为空。与/res文件夹不同的是,在/assets目录下的资源不会自动在R.java中生成ID,读取其下的文件必须指定文件路径。assets一般包含应用系统需要使用到的诸如mp3、视频类的文件。可以通过AssetManager类来访问这些文件.
5、res文件夹
包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录,常用的有
res/drawable/ 用来存放图片文件
res/layout/ 用来存放布局定义文件
res/values/ 用来存放一些变量、参数等文件
其中 drawable 是放图片的,有 drawable-hdpi,drawable-ldpi,drawable-mdpi 之分,对应的是高密度图片,低密度图片,和中等密度的图片,如果你要使用一个图片,你根据密度的不同做了三种相同的图片分别放到这三个文件夹里,那么你的应用运行在不同分辨率机器上的时候,就会根据该机器的分辨率自动选择合适的图片
6、AndroidManifest.xml文件
项目的总配置文件,记录应用中所使用的各种组件。如果你做过Java Web开发,这个文件就相当于Web应用中的web.xml文件一样。AndroidManifest.xml文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)、权限等。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent
filters等。我们将会在下一讲详细的介绍这个文件。
7、proguard.cfg
由于各种反编译工具的泛滥,从Android SDK2.3起,我们就可以使用Android混淆器proguard.cfg来防止程序被反编译,也其实就是将变量的名称混淆一下,降低程序的可读性。我们只需要在default.properties文件中添加一行proguard.config=proguard.cfg即可。
8、default.properties
这个也是项目自动生成的,记录项目中所需要的环境信息,比如Android的版本等。当出现类似于“ Unable to resolve target ‘android-5’”类的错误时,可以在此文件中修改API版本来解决。
相关文章推荐
- Android中探讨自定义控件View
- Android开发教程02:Android四大组件简介
- android完全退出程序(android退出有多个activity的应用)
- 获取android手机信息
- Android中的Environment.getExternalStorageState使用
- Android基础入门教程——10.1 TelephonyManager(电话管理器)
- 在Android如何在保证满足面向对象的单一原则(SRP)和开闭原则(OCP)的条件下,完成线程池的使用
- Android Studio中genymotion安装方法
- Android 使用NDK编译二进制文件并运行
- android 可滑动、点击切换的导航栏
- android opencv 前置摄像头
- 聊天TextView中识别数字网址高亮并可点击
- Android基础入门教程——10.2 SmsManager(短信管理器)
- Android开发adb常用命令详解
- Android学习之android源码的导入
- Android中两种设置全屏的方法!!!
- checkbox android:button="@null" 默认checkbox icon仍占位问题
- Android基础入门教程——10.3 AudioManager(音频管理器)
- AndroidStudio导出和导入设置
- android 性能测试的一些东西