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的那些版本
最新文章
- git切换到远程分支
- 1.ARC和非ARC文件共存
- Orleans之Hello World
- Good Bye 2015 C. New Year and Domino 二维前缀
- 一、	使用存储过程实现数据分页(Sql Server 2008 R2)
- sessionStorage 、localStorage 和 cookie 之间的区别
- html5中的meta标签
- 想系统的学习一下项目管理,推荐PRINCE2
- HTML5之window.applicationCache对象
- Leetcode_12_Integer to Roman
- Mac终端工具item2实现覆盖在屏幕上透明效果
- 【C++】根据二叉树的前序遍历和中序遍历重建二叉树并输出后续遍历
- java课程课后作业05之动手动脑
- centos共享目录
- leetcode238
- canvas-4fillstyle.html
- Ubuntu 下安装Go语言
- PHP源码安装经常会碰到的问题及解决办法
- php -- 特殊变量的三种输出
- MVC 如何设定默认默认路由为指定的Area下的某个action(笔记)
热门文章
- [__NSCFConstantString size]: unrecognized selector sent to instance 错误
- Android图片缓存之初识Glide(三)
- C#规范整理&#183;集合和Linq
- caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--02
- MongoDB 征途
- JavaScript删除确认框
- VMware虚拟机下实现Linux与window文件夹共享
- 使用C#解决部分Win8.1系统窗体每隔几秒失去焦点的问题
- 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
- LogStash 日志搜集