建立的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.app : 提供高层的程序模型、提供基本的运行环境
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的配置信息。

Android开发之 Android应用程序目录结构解析的更多相关文章

  1. Android 开发之Android 应用程序如何调用支付宝接口

    1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay ...

  2. Android开发之 Android应用程序详细解析

    我们继续的沿用上一篇所建立的应用. Android应用程序可以分为:应用程序源代码(.java),应用程序描述文件(.xml),各种资源. 可以这么理解: 安卓应用程序,通过java代码来实现其业务逻 ...

  3. Android开发之 Android 的基本组件的概述

    Android是一个为组件化而搭建的平台,它的应用是由一些零散的有联系的组件组成,并通过AndroidManifest.xml文件 把它们绑定起来. Android常用的组件有: Activity(活 ...

  4. Android开发之android:process=":remote"

    由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象.在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将 ...

  5. Android开发之Android Material Design Toolbar自定义随笔

    一.自定义Toolbar的menu: 在menu下新建menu.xml文件,自定义menu的样式: <menu xmlns:android="http://schemas.androi ...

  6. Android 开发之 Android 开发的起步

    前言  Android 开发的起步 我们可以先来看看百科上面怎么说? 百度百科上 Android的介绍 一.Windows环境下在线搭建Android环境. 1. 下载 Android开发工具. JD ...

  7. Android Studio教程01-的工程和目录结构解析

    目录 1.主目录 1.1. app目录 1.2.项目资源文件夹res 2. 理解build.gradle文件 2.1. 外部build.gradle 2.2. app文件下的build.gradle ...

  8. Android开发之Android Context,上下文(Activity Context, Application Context)

    转载:http://blog.csdn.net/lmj623565791/article/details/40481055 1.Context概念Context,相信不管是第一天开发Android,还 ...

  9. Android开发之 android:windowSoftInputMode属性详解

    android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一] ...

随机推荐

  1. WatiN框架学习

    WatiN 是一个源于 Watir的工具,开源且用于web测试自动化的类库.Web Application Testing in .NET. WatiN 通过与浏览器的交互来实现自动化,使用起来具有轻 ...

  2. 0422 Step2-FCFS调度

    一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行, ...

  3. MEF核心笔记(6)让 MEF 拥抱 AOP

    场景: 最近推荐同事在项目中使用起了 MEF,用其构建一个插件式的多人开发框架,因为该框架不是让我去设计了,所以对于 MEF 和 IOC 等概念不是很了解的同事,便会出现各种问题.接入 AOP 便是其 ...

  4. C#中this的 四种 用法

    C#中的this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码. this用法1:限定被相似的名称隐藏的成员 /// < ...

  5. Python入门笔记(14):Python的字符编码

    一.字符编码中ASCII.Unicode和UTF-8的区别 点击阅读:http://www.cnblogs.com/kingstarspe/p/ASCII.html 再推荐一篇相关博文:http:// ...

  6. Dynamics AX 中重点数据源方法

     数据源方法 描述   Active  当用户刚选中一行数据时执行该方法.若选中的是主表的数据,也用该方法来触发加载从表符合条件的数据.主要覆盖该方法来根据条件设置记录及其字段是否可见或是否可被编辑. ...

  7. csharp:Compare two DataTables to rows in one but not the other

    /// <summary> /// 账面数据 Accounting /// </summary> /// <returns></returns> Dat ...

  8. AC自动机---Keywords Search

    题目网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110773#problem/A Description In the moder ...

  9. oracle client ORA-12541: TNS: 无监听程序

    1. Question description: if you are setting the oracle client to add a local network service,  you m ...

  10. 常见的几种RuntimeException

    一般面试中java Exception(runtimeException )是必会被问到的问题 常见的异常列出四五种,是基本要求.更多的....需要注意积累了   常见的几种如下:   NullPoi ...