Android工程的目录结构
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工程的目录结构的更多相关文章
- 【Android Studio安装部署系列】三、Android Studio项目目录结构
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 简单介绍下Android studio新建项目的目录结构. 常用项目结构类型 在Android Studio中,提供了以下几种项目结 ...
- Android系统源代码目录结构 “Android源代码”“目录结构”
在讲述Android源码编译的三个步骤之前,将先介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置. Android源代码顶层目录结构如下所示: ├ ...
- Eclipse中一个Maven工程的目录结构
在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,跟不要说自己 ...
- Android开发学习——Android项目的目录结构
Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...
- Android开发:程序目录结构详解
HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...
- Android开发系列之Android项目的目录结构
今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目 ...
- Android项目的目录结构 初学者记录
Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...
- Eclipse中一个Maven工程的目录结构 (MacOS)
1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织 ...
- 第一个Maven工程的目录结构和文件内容及联网问题
[第一个Maven工程] ①目录结构 Hello |---src |---|---main |---|---|---java |---|---|---resources |---|---test |- ...
随机推荐
- down
Description 给出一个数列,求出这个序列的最长下降子序列的长度及方案数,子序列中的权值完全相同视为同一个序列 Input 第一行一个整数n,接下来一行n个整数表示序列的权值 Output 一 ...
- laravel svn从win上传linux需要注意事项
一首页设置目录权限: /storage /bootstrap/cache 设置可写权限 二执行命令: php artisan key:generate
- [置顶] vue-cli的webpack模板项目配置文件分析
2017-09-11更新:更新到webpack 2.6.1所对应的配置,完善部分代码注释. 由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和c ...
- Linux进程管理(3):总结
7. exit与_exit的差异 为了理解这两个系统调用的差异,先来讨论文件内存缓存区的问题. 在linux中,标准输入输出(I/O)函数都是作为文件来处理.对应于打开的每个文件,在内存中都有对 ...
- Android应用开发-小巫CSDN博客客户端开发开篇
2014年9月8日 八月十五 祝各位中秋节快乐 小巫断断续续花了几个星期的时间开发了这么一款应用——小巫CSDN博客,属于私人定制的这样的一款应用,整个客户端的数据全部来自本人博客,是通过爬取本人博客 ...
- 设计模式——介绍与工厂模式(扁平管理模式VS职业经理人模式)
本文主要对设计模式进行大概解说.特别是对工厂模式进行简明的解析: 一.设计模式的分类 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式. ...
- valid-palindrome——判断带符号数字字母的字符串是否为回文
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...
- html嵌套规则
本人半路出家的 今天学习js的时候写了一个a嵌套a标签结果js报错 一直找不到原因 专门找了一下html嵌套规则看了一下 1.块级元素 一般用来搭建网站架构.布局.承载内容……它包括以下这些标签: ...
- python(33)- 模块与包
一 模块 1 什么是模块? 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2 为何要使用模块? 如果你退出python解释器然后重新进入,那么你之前定义的函 ...
- C#数据类型与数据库字段类型对应
数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime Sy ...