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 ...
随机推荐
- eclipse svn异常:RA layer request failed 的解决方案
这几天svn总是出问题,网上搜了好多资料,今天才真正找到解决办法. RA layer request failedsvn: OPTIONS of 'https://192.168.0.104/svn/ ...
- install Matlab2016b on Ubuntu 14.04
From Download Download the install file from Download MATLAB, Simulink, Stateflow, and Other MathWor ...
- Hibernate级联删除时:Cannot delete or update a parent row: a foreign key constraint fails异常
在删除主表数据时,报了一个异常 Cannot delete or update a parent row: a foreign key constraint fails 原因是主表中还包含字表的数据, ...
- jQuery调用AJAX异步详解[转]
AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1) 使用CSS和X ...
- E2 结帐方案如何理解?
E2 结帐方案如何理解? 此文转载自宇然软件官方网站:http://www.fsyuran.com
- tomcat 启用Gzip 压缩进行优化
打开conf/server.xml文件可以看到: <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Con ...
- Javascript设计模式之匿名函数与闭包
匿名函数 (function () { var foo = 10; var bar = 2; console.log(foo*bar); })(); // 20 带参数的匿名函数 (function ...
- (一)MII/MDIO接口详解
本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法. ...
- iphone 使用技巧
http://www.app111.com/doc/100147120_1.html(隐藏某个图标) (3)传视频 moliplayer 和itunes ---应用(在下部)找到moliplaye ...
- spring+redis实现缓存
spring + redis 实现数据的缓存 1.实现目标 通过redis缓存数据.(目的不是加快查询的速度,而是减少数据库的负担) 2.所需jar包 注意:jdies和commons-pool两个j ...