android 56
##其他布局
* LinearLayout
* RelativeLayout
* FrameLayout
* AbsoluteLayout (绝对布局, 文档说过时,应用场景机顶盒开发,定制的平板)
* TableLayout 表格布局 , 办公类的软件 OA 类软件 ##Android下的常见单位
px: 像素是真实在屏幕上的大小
dp: dp是dip的缩写和dip是一样的, dp是屏幕宽高和像素的一个比例值 在大屏幕的手机上dp对应的像素多,在小屏幕手机上dp对应的像素就小,同样是100dp,在大小屏幕手机上大小不一样,就保证了不同手机的兼容性。在hvga模拟器上,比如height=30dp,表示高度占屏幕高的30个等分。 ##logcat
>手机内部的一块内存,环形缓冲区
>在实际开发的时候不推荐使用system.out() 打印日志,这种方法不容易查找日志的位置
>推荐使用Log.v d i w e()这样的方法打印日志
Logcat:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v(tag , "我是v级别的log打印");
Log.d(tag , "我是d级别的log打印");
Log.i(tag , "我是i级别的log打印");
Log.w(tag , "我是w级别的log打印");
Log.e(tag , "我是e级别的log打印");
} ##程序测试
>好的应用程序不是写出来的,是测出来了 根据是否知道应用程序的源代码
* 黑盒测试 不知道程序的源代码,但是知道程序的功能,根据输入测试输出
* 白盒测试 知道程序的源代码,写一写测试逻辑跑这个程序的代码 根据测试的粒度(精细程度)
* 方法测试 function test
* 单元测试 unit test
* 集成测试 intergration test
* 系统测试 system test 根据测试的暴力程度
* 压力测试 pressure test 单位时间内的频繁测试
* 冒烟测试 smoke test 没有时间限制的重复测试
> monkey 1000 android下开发的代码写junit测试用例和普通pc机下的java代码不一样
>要把应用程序部署到模拟器或者真实的手机去运行.安卓代码是不能够在pc的jvm里面运行的。 ##Android下junit测试代码的写法
1. 写一个业务方法CalcService
2. 测试这个业务方法,写一个类继承AndroidTestCase
3. 编写测试的代码
assertEquals(期待的结果,真实的结果)
package com.itheima.junit.service;
/**
* 计算机的服务
*/
public class CalcService {
public int add(int x,int y){
return x+y;
}
} package com.itheima.junit.test;
import com.itheima.junit.service.CalcService;
import android.test.AndroidTestCase;
/**
* 测试类,继承AndroidTestCase
*/
public class TestCalcService extends AndroidTestCase {
/**
* 测试方法的作用就是检查一个方法是否可以正确的执行,如果出现错误
* 记得把错误抛给测试框架 throws Exception,不能try catch,
*/
public void testAdd() throws Exception{
CalcService service = new CalcService();
int result = service.add(3, 5);
//断言
assertEquals(8, result);
}
}
4. 配置androidmenifest.xml 清单文件
在mefifest节点里面
<!-- 指定测试框架运行的指令集,告诉模拟器测试我们的应用程序,指定包名 -->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.itheima.junit"
></instrumentation>
5. 在application节点里面配置
<!-- 引入测试框架的jar包 -->
<uses-library android:name="android.test.runner"/> 6. 运行测试代码,对着方法名点击右键,run as android junit test
7. 根据红条还是绿条判断测试结果
android 56的更多相关文章
- 从零开始实现基于微信JS-SDK的录音与语音评价功能
最近接受了一个新的需求,希望制作一个基于微信的英语语音评价页面.即点击录音按钮,用户录音说出预设的英文,根据用户的发音给出对应的评价.以下是简单的Demo:  Android 环境搭建踩坑记录
debugservicereact-native 安装官网 https://reactnative.cn/docs/getting-started.html 根据官网步骤一步步执行下去.还能碰到一些问 ...
- Android:刚6瓶啤酒4两56度白酒下肚,居然20分钟做了一手机版网站 !
刚6瓶啤酒4两56度白酒下肚,居然20分钟不到时间做了一手机版网站 !人有多大潜力你知道吗? 大家有兴趣的可以用手机或微信打开 http://xh.yunxunmi.com/ 看看俺这酒后之做! 更 ...
- 56、使用android studio(v1.3.*)修改包名 (rename package name)
一.修改包名 ①选中目录,开始构造 在弹窗中选中Rename directory 在弹窗中选中Rename package 填写新的包名,点击Refactor 如果有警告,不用管它,直接点击Do Re ...
随机推荐
- about python
函数式编程 λ演算 LISP,Erlang 尾递归 栈的使用 避免防御式编程 ER实体Entity关系relationship OOP [OOA/D] 属性.行为 继承.聚合.关联 抽象.封装 笛卡尔 ...
- Linux下的echo服务器
epoll模式下的echo服务器,忘记从哪个网页上粘贴过来的了,学习一下 /* * main.cc * * Created on: 2009-11-30 * Author: liheyuan * De ...
- Encoding 类别
Encoding 類別 .NET Framework 4.5 表示字元編碼方式. 繼承階層架構 System.Object System.Text.Encoding System.Tex ...
- C#匿名类型(Anonymous Type)学习日记
当我们不要定义复杂的方法,事件,构造函数这样复杂的类的时候,可以动态的生成一个自定义的数据类型 --> 匿名类型. 1.定义匿名类型 定义一个匿名类型时,需要用到 var 关键字和对象初始化语法 ...
- [BZOJ 1901] Dynamic Rankings 【树状数组套线段树 || 线段树套线段树】
题目链接:BZOJ - 1901 题目分析 树状数组套线段树或线段树套线段树都可以解决这道题. 第一层是区间,第二层是权值. 空间复杂度和时间复杂度均为 O(n log^2 n). 线段树比树状数组麻 ...
- Linux下查看CPU信息
在linux操作系统中,CPU的信息在启动的过程中被装载到虚拟目录/proc下的cpuinfo文件中,我们可以通过 cat /proc/cpuinfo 查看一下:
- Java多线程(四)之ConcurrentSkipListMap深入分析
一.前言 concurrentHashMap与ConcurrentSkipListMap性能测试 在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSki ...
- Win7 64位系统U盘安装Centos6.5双系统
(win764位旗舰版系统 Centos6.5亲测成功) 安装前准备: U盘.软碟通(UltraISO).CentOS-6.5-x86_64-bin-DVD1(DVD 2只是一些软件,安装系统只要DV ...
- TimePicker,TimePickerDialog以及自定义timepicker(一)
场景:在activity上点击,弹出一个dialog,然后点击dialog上的一个按钮,在弹出时间.以及自定义dialog 懒,要用到一个选择时间的需求,只要求小时和分钟,弹出式,第一时间想到了tim ...
- ResponseHelper
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Cemetery_ ...