一、项目的结构介绍:
每当创建一个项目时,会自动生成如下架构:
每层目录分别代表意思:
src:
src是用来保存Java源文件的目录。如上图包含有三个java的源代码文件
gen:
gen是用于保存Android自动生成的一个R.java的清单文件。
R文件是aapt工具根据应用中的资源文件自动生成的,即是一种应用的资源字典。
R文件的规则主要有如下二条:
1,每类资源对象R类的一个内部类。比如所有界面布局资源对应layout内部类;所有标识符资源对应于id内部类等待
2,每个具体的资源项对应于内部类的一个public static final int 类型的Field。
assets :包含应用系统需要使用到的诸如mp3、视频类的文件
bin :该目录用于存放生成的目标文件,如Java的二进制文件、资源打包文件(apk后缀)、R.java文件和Dalvilk虚拟机的可执行文件(.dex后缀)等。
libs :提供当前工程所依赖的jar包
res:
res:该项目里存放了android应用所用的全部资源,包括图片资源drawable、字符串资源strings、颜色资源color、尺寸资源dimens等。而且还包括layout的布局xml文件:
values-v11和v14代表不同安卓的版本,不同版本找对应的values的资源
drawable-hdpi、-ldpl、-mdpl、xhdpl、-xxhdpl代表不同分辨率的图片
AndroidManifest.xml 应用的清单文件
AndroidManifest.xml清单文件是每个Android项目都必需的,他是整个Android应用的全局描叙文件。AndroidManifesr.xml清单文件说明了该应用的名称、所使用图标,以及包含的组件和权限的赋予等。
通常会包含如下信息:
1,应用程序的包名,该包名将作为该应用的唯一标识。
2,应用程序所包含的组件。
3,应用程序兼容的最低版本。
4,应用程序使用系统所需的权限声明。
5,其他程序访问该程序所需的权限声明
二、布局介绍
1,线性布局
线性布局由LinearLayout类代表,布局里的组件会一个挨着一个排列起来,可以通过设置android:orientation属性设置个组件是纵向排序(vertical),还是横向排序(horizontal)。
2,表格布局
表格布局由TabkeLayout代表,表格布局采用行、列的形式来管理UI组件。TableLayout的行和列不需要声明,而是采用添加方法控制。
每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,也同样是容器,没往里面添加一个子组件就代表增加一列。在表格布局中,列的宽度由最宽的那个单元格决定,整个表格布局宽度取决于父容器的宽度。
3,帧布局
帧布局由FrameLayout所代表,FrameLayout直接继承了ViewGroup组件。帧布局为每个加入其中的组件创建一个 空白的区域(称为一帧),所以每个子组件占据一帧,这些帧会根据gravity属性执行自动对齐。
4,相对布局
相对布局由RelativeLayout代表,相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定的,是最常用的一种布局。如果A组件的位置有B组件的位置来决定的,android会要求先定义B组件,再定义A组件。
相对应布局容器的属性:
相对于相对组件的属性:
5,绝对布局
决定布局由AbsolutLayout代表,绝对布局中android不会提供任何布局控制,直接由(x,y)的坐标来控制组件的位置。
使用决定布局时,每个子组件可以指定如下两个XML属性:(绝大部分不会使用绝对布局)
layout_x :指定该子组件的X坐标
layout_y: 指定该子组件的Y坐标
总结:多用相对布局和线性布局,少用绝对布局和帧布局。