Android基础之项目结构分析
创建了第一个Android项目,用工具开发Android项目,我们有必要熟悉项目的目录结构,清楚各个项目下面放置的是什么东西。展开整个项目,其根目录结构(选用不同版本的SDK文件目录结构会有一些不同,但大致一样)如下图所示:

1. src目录
该目录一个普通的保存java源文件的目录,其和普通java工程中的src目录是一样的。
2. gen目录
此目录用于存放所有由ADT插件自动生成的内容。里面最重要的是名称为R.java的文件,这个java文件含有很多静态类,并对应于下面要介绍的res目录下的文件。R.java文件是只读模式的,不可自己更改。
3. Android2.3.3
此处表示该项目使用的SDK版本,即我们在创建项目时选择的"Build SDK"。
4. assets目录
该目录用于存放资源文件,但其存放的资源文件不可自动在gen目录的R.java文件中生成静态类的静态属性。可通过AssetManager类访问该目录下的资源文件。
5. bin目录
该目录只有在Android项目编译后才会自动生成,未编译的工程是不包含这个目录的。编译之后的字节码就存放在该目录下。编译的过程首先是编译成为 Android Java虚拟机(Dalvik Virtual Machine)文件classes.dex,再把该classes.dex文件打包成为apk包。
6. libs目录
该目录用于放置一些开发过程中需要的jar文件。
7. res目录
该目录和 assets目录一样也是用于存放资源文件,但它和 assets目录最大的区别在于, res目录下的资源文件会在gen目录下的R.java文件中产生以资源文件名命名的静态属性。
该目录下还包括一系列的文件目录,其中drawable-hdpi、drawable-ldpi、drawable-mdpi目录下分别用于存放高、低、 中分辨率的图片,用SDK 1.5版本创建的工程下只有一个drawable文件夹,新版本的SDK下之所以会产生多个存放图片的文件夹,主要是Android考虑到为了让图片资源 适应各种不同屏幕的分辨率,应用程序会自动根据手机分辨率选择对应的图片资源;
layout目录用于存放界面布局的xml文件;
menu目录用于存放菜单资源的xml文件;
values用于存放字符串资源、颜色资源、尺寸资源的xml文件。
8. AndroidManifest.xml文件
该文件是项目清单文件,里面列出了应用所具有的功能和你所使用的系统服务,另外我们开发好的各种组件(Activity、Service、ContentProvider、BroadcastReceiver)也要在此注册。
9. project.properties文件
该文件我们无需关心,它用于告诉开发工具目前的项目使用的Android API版本,无需改动。
Android基础之项目结构分析的更多相关文章
- Android Studio 新建项目结构分析
这是我刚刚新建的项目 默认都是Android模式的项目结构,但这并不是真实的目录结构 把他换成Project模式 项目的真实目录结构 1app 项目的代码,资源 2 gradle wrappere ...
- Android应用开发项目结构分析
初学Android开发,初步理解的Android应用项目结构,备忘. 一.清单文件AndroidManifest.xml 功能: 1.供Android平台调用,供其了解本应用的信息,因此,所有的组件( ...
- Android基础——项目的文件结构(三)
Android基础--项目的文件结构(三) 代码源文件夹与资源文件夹 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目中,代码源文件夹有4个 ...
- Android基础——项目的文件结构(二)
Android基础--项目的文件结构(二) AndroidManifest.xml文件分析 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目 ...
- Android基础——项目的文件结构(一)
Android基础--项目的文件结构(一) Android视图与Project视图对比 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在Android Studi ...
- Android基础新手教程——1.2.1 使用Eclipse + ADT + SDK开发Android APP
Android基础新手教程--1.2.1 使用Eclipse + ADT + SDK开发Android APP 标签(空格分隔): Android基础新手教程 1.前言 这里我们有两条路能够选,直接使 ...
- Mono.Android 基础
Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
- 基础4 Android基础
基础4 Android基础 1. Activity与Fragment的生命周期. Activity生命周期 打开应用 onCreate()->onStart()->onResume 按BA ...
随机推荐
- web后门top
看到了一个博客 觉得关键点很有用 1)出现频率最高的DDoS后门文件名 abc.php, xl.php, Xml.php, dedetag.class.php, counti.php, plase. ...
- unity3d vs2012
Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Studio代替MonoDevelop这个问 ...
- RelativeLayout用到的一些重要的属性:
下面是常用的一些属性 RelativeLayout用到的一些重要的属性: 第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:la ...
- iOS - Swift NSProcessInfo 系统进程信息
前言 public class NSProcessInfo : NSObject 1.获取系统进程信息 // 创建系统进程信息对象 let processInfo:NSProcessInfo = NS ...
- fFFmpeg 命令、案例、测试集中营
gitbook: https://www.gitbook.com/book/xdsnet/other-doc-cn-ffmpeg/details ffmpeg [全局选项] {[输入文件选项] -i ...
- Redis配置文件之————redis.conf配置及说明
基本设置 1. 备释当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写):1k =< 1000 bytes1kb =< 1024 by ...
- 手机CPU知识扫盲:谈谈手机CPU架构与原理 (全
CPU是手机上面最复杂,最贵的Soc(芯片),担任的也是手机中大脑的位 置,是手机跑分性能的决定性硬件.智能手机发展到今天,各大手机CPU厂商也从春秋战国逐渐到了现在四国鼎立的时代(高通,MTK,三星 ...
- dateTimePicker的使用,时间控件
<li> <label>促销时间<span class="imprt">*</span></label> <inp ...
- Target runtime Apache Tomcat v7.0 is not defined.
打开项目,找到.settings--->org.eclipse.wst.common.project.facet.core 修改这个文件中: <?xml version="1.0 ...
- you don't have permission to view it 解决
the file couldn't be opened because you don't have permission to view it 简单设置下面的选项即可,不要谢我啊! change ...