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 |- ...
随机推荐
- nginx 自签名https
繁杂的命令,以下准备写好的sh,拷贝https.sh文件,设置执行权限:chmod u+x https.sh #!/bin/sh # create self-signed server certifi ...
- iOS -- 十进制、十六进制字符串,byte,data等之间的转换
十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSStringstringWithFormat:]]]; 十六进制-& ...
- 1.【nuxt起步】-nuxt是什么?
百度了解下,简单说就是vue的seo化,因为vue是spa,不支持seo,从本地运行的源码可以看出来,html没有tkd和相关文字,导致百度收录困难,所以nuxt可以很好的解决这个问题, 举个例子:纯 ...
- utuntu16.04安装tensorflow1.4-gpu
之前一直在windows下使用tensorflow,对cpu和gpu的安装都是比较顺利,都是使用anaconda环境下,创建虚拟conda环境,这样方便不同python版本的管理. 一直也想尝试使用u ...
- Servlet 3.0的AsyncListener接口
Servlet 3.0的AsyncListener接口 作者:chszs,转载需注明. 博客主页:http://blog.csdn.net/chszs 一.Servlet 3.0介绍 Servlet ...
- Odoo 运费
模块delievery可以将运费Charge给客户 安装delivery模块 Delivery method 在做订单的时候,选择相应的运输方法, 系统 ...
- Win8 使用经验之飞鸽传书
参考资料: http://jingyan.baidu.com/article/c1a3101eb52cd8de656deba6.html Win8的UAC关闭不生效?彻底关闭Win8的UAC? 1. ...
- 《UNIX-Shell编程24学时教程》读书笔记chap7 变量
7.0 本章内容: 定义,访问,删除标题和数组变量:环境变量和shell变量 7.1 定义变量 标量一次只存储一个值[名字值对]:数组变量可以存储多个值. 以数字开头的变量名如1,2或11将保留为Sh ...
- 显卡接口PCI、VGA、PCIE
转:1.PCIe扫盲系列博文连载 2.http://blog.sina.com.cn/s/blog_a73f94190102w2j2.html 1.AGP(Accelerated Graphics P ...
- HDU-4930 Fighting the Landlords 多校训练赛斗地主
仅仅须要推断一个回合就能够了,枚举推断能够一次出全然部牌或者大过对面的牌的可能,注意的是4张同样的牌带两张牌的话是能够被炸弹炸的. #include <iostream> #include ...