1.最大限度的将不需要出现在Java代码中的文件和代码本身分离开来
2.使用XML标记语言定义UI和数据结构
3.对于工程中的文件存储在工程目录中的那个位置有着严格的规定,在编译过程中Android会从这些标准化的目录中
寻找所每种需要的文件,并要求相似的文件在逻辑上被组织在一起
4.驱动整个应用程序的Java代码放在/src(源代码)或/java目录下面,可以在目录先创建子目录
5.应用程序所需的其他文件存放在/res(资源)目录下面的子目录中。需要注意的是/res目录中只能存放子目录而不能
直接存放文件;如果在Android编译器发现这个目录中直接存放文件,会产生一个编译错误.
一个典型的默认资源(/res)目录结构包含8个默认的目录:
  layout:UI画面布局存放在/res/layout目录中,UI布局定义的是以XML文件格式保存的
  anim:定义动画的XML文件存放在/res/anim目录中
  drawable:PNG格式(Google推荐的)或者JPEG格式(可以使用,但是Google不推荐)的图片存放在/res/drawable(可
以绘制的屏幕图像)目录中
  values:定义常量值的XML文件存放在/res/values目录中
  color:为你的应用程序UI指定相关颜色值的XML文存放在/res/color目录中
  xml:定义用户数据构件的XML文件存放在/res/xml目录中
  menu:定义菜单布局的XML文件存放在/res/menu目录中
  raw:未经压缩的视频文件存放在/res/raw目录中,以便告诉Android不需要对这些文件做进一步的处理
6.values目录下的典型文件:
  colors.xml:用于定义在应用中所使用的颜色值的XML文件,可以通过这个文件来对UI进行标准化
  dimens.xml:用于定义各种尺寸值的XML文件
  arrays.xml:用于定义一系列需要被遗弃使用值(称为数组)的XML文件
  styles.xml:用于定义应用程序中所使用的样式XML文件

7.位图图片

  位图图片的命名规范:图片文件名只能包含数字和小写字母以及下划线,一定要记住这个规定

  配置用于应用程序的位图图片,按照如下步骤:

    将它们正确命名》使用PNG或JPG格式》确保它们位于/res/drawable目录中,以便Android能找到它们

8.可选资源
  例如:在横屏或竖屏提供不同的UI画面布局,要添加一个可选资源目录,可以在/res目录下创建一个子目录,
以“<资源名称>-<配置修饰符>”的格式来命名
如果希望为Android自动从目录中为QVGA,HVGA,WVGA屏幕需用合适的图片,需要将目录结构按照下面的要求
进行配置:
  /res:仅包含子目录
  /res/drawable-ldpi:包含低像素屏幕图片
    icon.png:32 x 32像素
    background.png:320 x 320像素
  /res/drawable-mdpi:中等像素密度屏幕图片
    icon.png: 48 x 48像素
    background.png: 320 x 320像素
  /res/drawable-hdpi:高像素密度屏幕图片
    icon.png:72 x 72像素
    background.png:800 x 480像素

9.启动应用程序:AndroidManifest.xml
  启动Android应用程序它会首先去寻找Manifest文件,这个文件永远都叫AndroidManifest.xml文件,方便在启动时被
系统找到
  AndroidManifest.xml文件中定义一些非常高级的定义和设置,使用XML标记语言来编写的,其中包含的一些关键项目有:
    对于应用程序Java代码的引用,以便Java代码可以被系统找到并运行
    Android应用程序中各个组件的定义,以及它们何时可以被启动
    关于应用程序安全和与其他应用程序交流方面的权限定义
    声明所支持的Android操作系统的最低版本,相当于定义了应用程序可以支持Android的那些版本

Android工程的目录结构的更多相关文章

  1. 【Android Studio安装部署系列】三、Android Studio项目目录结构

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 简单介绍下Android studio新建项目的目录结构. 常用项目结构类型 在Android Studio中,提供了以下几种项目结 ...

  2. Android系统源代码目录结构 “Android源代码”“目录结构”

    在讲述Android源码编译的三个步骤之前,将先介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置. Android源代码顶层目录结构如下所示: ├ ...

  3. Eclipse中一个Maven工程的目录结构

    在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,跟不要说自己 ...

  4. Android开发学习——Android项目的目录结构

    Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...

  5. Android开发:程序目录结构详解

    HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...

  6. Android开发系列之Android项目的目录结构

    今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目 ...

  7. Android项目的目录结构 初学者记录

    Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...

  8. Eclipse中一个Maven工程的目录结构 (MacOS)

    1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织 ...

  9. 第一个Maven工程的目录结构和文件内容及联网问题

    [第一个Maven工程] ①目录结构 Hello |---src |---|---main |---|---|---java |---|---|---resources |---|---test |- ...

随机推荐

  1. Java方法中传值和引用传递的问题(转)

    说明:标题其实说法是错误的.Java中只有值传递,没有引用传递. ... ... //定义了一个改变参数值的函数 public static void changeValue(int x) { x = ...

  2. MySQL 服务无法启动-问题处理

    症状:前一天在MySQL中删除了几个不用的数据库后登陆MySQL出现以下错误:   mysql -u root -p passwd   ERROR 2002 (HY000): Can't connec ...

  3. Android Framework 记录之一

    简介 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework框架层了. 记录 1.下载源码,目录如下: 2.Android系统的层次如下: 3.项目目录简单分析如下: 4 ...

  4. yii框架:CDbConnection failed to open the DB connection: could not find driver的解决的方法

    这个问题是由于php中缺少pdo mysql造成的. 解决方法是为php加入此扩展.前往你最早的php安装文件,进入ext/pdo_mysql/文件夹下,然后./configure --with-ph ...

  5. python numpy实现多次循环读取文件 等间隔过滤数据

    numpy的np.fromfile会出现如下的问题,只能一次性读取文件的内容,不能追加读取,连续两次的np.fromfile读到的东西一样 如果数据文件太大(几个G或以上)不能一次性全读进去,需要追加 ...

  6. c语言函数---I

    函数名: imagesize 功 能: 返回保存位图像所需的字节数 用 法: unsigned far imagesize(int left, int top, int right, int bott ...

  7. hibernate的注解装配

    1.多对多,(中间表不用映射) @ManyToMany @JoinTable(name = "中间表名", joinColumns = { @JoinColumn(name = & ...

  8. Python实战之自己主动化评论

    Python实战之自己主动化评论 玩csdn博客一个多月了,渐渐发现了一些有意思的事,常常会有人用相同的评论到处刷.不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情 ...

  9. 【iOS开发-79】利用Modal方式实现控制器之间的跳转

    利用Modal方法.事实上就是以下两个方法的运用. Modal方式的切换效果是从底部呈现. -(void)clickModal{ WPViewController *wp=[[WPViewContro ...

  10. Tomcat appears to still be running with PID 19564. Start aborted

    产生原因:tomcat 异常关闭, 或强行终止导致(如断电等....) 如你所见 .  tomcat 在linux  关, 关不了. 开开不了. 疯狂百度一个小时以后,大致产生问题的原因是,LINUX ...