创建了第一个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基础之项目结构分析的更多相关文章

  1. Android Studio 新建项目结构分析

    这是我刚刚新建的项目  默认都是Android模式的项目结构,但这并不是真实的目录结构 把他换成Project模式 项目的真实目录结构 1app 项目的代码,资源 2 gradle  wrappere ...

  2. Android应用开发项目结构分析

    初学Android开发,初步理解的Android应用项目结构,备忘. 一.清单文件AndroidManifest.xml 功能: 1.供Android平台调用,供其了解本应用的信息,因此,所有的组件( ...

  3. Android基础——项目的文件结构(三)

    Android基础--项目的文件结构(三) 代码源文件夹与资源文件夹 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目中,代码源文件夹有4个 ...

  4. Android基础——项目的文件结构(二)

    Android基础--项目的文件结构(二) AndroidManifest.xml文件分析 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目 ...

  5. Android基础——项目的文件结构(一)

    Android基础--项目的文件结构(一) Android视图与Project视图对比 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在Android Studi ...

  6. Android基础新手教程——1.2.1 使用Eclipse + ADT + SDK开发Android APP

    Android基础新手教程--1.2.1 使用Eclipse + ADT + SDK开发Android APP 标签(空格分隔): Android基础新手教程 1.前言 这里我们有两条路能够选,直接使 ...

  7. Mono.Android 基础

    Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...

  8. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  9. 基础4 Android基础

    基础4 Android基础 1. Activity与Fragment的生命周期. Activity生命周期 打开应用 onCreate()->onStart()->onResume 按BA ...

随机推荐

  1. 11.Events

    1.A type that defines an event member allows the type (or instances of the type) to notify other obj ...

  2. implement Cartographer ROS for TurtleBots

    github source: https://github.com/googlecartographer/cartographer_turtlebot 1. Building & Instal ...

  3. 3.25考试(hnoi难度)----神奇的一日游

    T1怕老婆 有一天hzy9819,来到了一座大城市拥有了属于他自己的一双滑板鞋.但是他还是不满足想要拥有属于自己的一栋楼,他来到了一条宽敞的大道上,一个一个记录着这些楼的层数以方便自己选择. hzy9 ...

  4. C# 线程(六):定时器

    From : http://kb.cnblogs.com/page/42532/ Timer类:设置一个定时器,定时执行用户指定的函数. 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数. ...

  5. VS生成事件

    源自:http://www.cnblogs.com/FreeDong/p/3406737.html 如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率.本文说的就 ...

  6. hiho #1050 : 树中的最长路 树的直径

    #1050 : 树中的最长路 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中, ...

  7. Spring security3入门(转)

    http://kingxss.iteye.com/blog/1908011 补充类图: 注意:1.修改为链接mysql数据库:             2.代码地址:https://github.co ...

  8. [转载] 360分布式存储系统Bada的设计和应用

    原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=208931479&idx=1&sn=1dc6ea4fa28a ...

  9. 在Spark上用Scala实验梯度下降算法

    首先参考的是这篇文章:http://blog.csdn.net/sadfasdgaaaasdfa/article/details/45970185 但是其中的函数太老了.所以要改.另外出发点是我自己的 ...

  10. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...