一、五大布局
1、LinearLayout线性布局
2、RelativeLayout相对布局
3、AbsoluteLayout绝对布局
4、TableLayout表格布局
5、FrameLayout帧布局
二、LinearLayout线性布局
1、android:orientation="horizontal" 制定线性布局的排列方式:水平 horizontal ,垂直 vertical
2、gravity 控制当前控件内容显示区域
layout_gravity 当前控件在父元素的位置
3、Layout_weightSum
Layout_weight 额外空间分配(权重)
4、android:visibility="invisible"控制布局是否显示
1)显示 visible
2)不显示,但占空间 invisible
3)隐藏 gone
三、RelativeLayout 相对布局
1、android:layout_toRightOf在指定控件的右边
2、android:layout_above在指定控件的上边
3、android:layout_alignBaseline跟指定控件水平对齐
4、android:layout_alignLeft跟指定控件左对齐
5、android:layout_alignParentLeft是否跟父布局左对齐
6、android:layout_centerVertical在父布局中垂直居中
7、android:layout_centerInParent在父布局中居中
四、AbsoluteLayout 绝对布局
1、android:layout_x指定控件在父布局的x轴坐标
2、android:layout_y指定控件在父布局的y轴坐标
五、FrameLayout 帧布局
帧布局每次添加的控件都显示在最上面,最后显示在界面上的是最后添加的一个控件
六、TableLayout 表格布局
1、android:shrinkColumns收缩列
2、android:stretchColumns拉伸列
3、android:collapseColumns隐藏列
4、android:layout_column指定列(作用在列的身上)
5、android:layout_span合并列(作用在列的身上)
TableRow单元行里的单元格的宽度小于默认的宽度时就不起作用,其默认是fill_parent,高度可以自定义大小
七、Android中的显示单位
1、px(像素)
2、dip或dp(设备独立像素)
3、sp(比例像素):主要处理字体的大小
为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。
4、获取屏幕密度的方法:
float density = getResources().getDisplayMetrics().density;
5、常见的密度比值:
1)240*320的密度比值是: 0.75
2)320*480 的密度比值是: 1.0
3)480*800 的密度比值是: 1.5
八、Android 测试
1、黑盒测试: 是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
2、白盒测试: 又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
3、单元测试: 又称模块测试,是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
4、功能测试: 根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
5、压力测试: 主体向被观察者布置一定量任务和作业,借以观察个体完成任务的行为。
6、集成测试: 是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
7、压力测试方法:
1)测试整个系统: adb shell monkey -v 1000 (-v 指定模拟测试的事件数量)
2)测试某个程序: adb shell monkey -p <程序的包名> -v 事件的数量
8、android下Junit测试配置信息:
在AndroidManifest.xml中配置一下信息
1. 在manifest节点下配置一下信息.
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.itheima27.junittestdemo" > </instrumentation>
2. 在application节点下配置以下信息.
<uses-library android:name="android.test.runner" />
九、数据存储与访问
1、文件
2、SharedPreferences(参数)
3、SQLite 数据库
4、Content provider 内容提供者
5、网络
十、使用文件进行数据存储
1、在上下文中有一个方法叫openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。/data/data/<package name>/files目录
2、this.getFilesDir();是/data/data/当前应用程序的包名/files
this.getCacheDir();是/data/data/包名/cache/
十一、文件权限