Eclipse的程序调试——android学习笔记
来源:互联网 发布:cad软件购买 编辑:程序博客网 时间:2024/04/30 02:40
每个Android应用上线之前都会进行一系列的测试,确保应用能够正常使用。通常情况下,测试Android应用使用的都是JUnit单元测试。另外,当程序出错时,还会通过Android中的LogCat(日志控制台)或者Toast来调试错误。
- JUnit单元测试
JUnit实际上是一个测试框架,它是SDK1.5加入的自动化测试功能,可以在完成某一个功能之后就对该功能进行单独测试,而不需要把应用程序安装到手机或者模拟器中再对各项功能进行测试。JUnit单元测试既可以嵌入到项目中,也可以作为一个单独的项目,针对某个项目进行测试。具体步骤如下:
1.配置JUnit环境
在进行JUnit测试时,首先需要在AndroidManifest.xml的结点下配置指令集和在结点下配置函数库,具体代码如下:
<application <uese-library android:name="android.test.runner"/> ...</application><instrumentation android:name="android.test,InstrumentationTestRunner" android:targetPakage="cn.itcast.junit" />
其中,JUnit的指令集和函数库都是固定写法,中android:targetPakage配置的包名必须要与被测试的应用包名一致,否则会出现找不到测试用例的错误。
2.创建测试类
创建一个类JUnitTest继承AndroidTestCase类,该类中包含一个测试方法testAdd(),用于实现求和功能。需注意的是,测试方法必须把异常(Exception)抛出,不能捕获异常,以免程序程序出Bug后把异常捕获而导致测试框架得不到测试结果。JUnit代码如下所示:
package cn.itcast.junit;import acdroid.test.AndroidTestCase;public class JUnitTest extends AndroidTestCase { public void testAdd() throws Exception { int x=5; int y=3; //断言,第一个参数是我们所期望的值,第二个参数为真实值。 assertEquals(8,x+y); } }
上述代码中 assertEquals()方法用于断言我们所期望的结果与运行程序是否匹配,如果匹配表示程序运行正确,否则表示程序错误。x+y可替换为方法名(被测试的方法)。
3.运行测试
测试程序时有两种方式,一种是选中类名,右击并依次选择Run As→Android JUnit Test,对代码进行测试,这种测试是针对该类中多有方法进行测试。另一种是选中方法名,右击并依次选择Run As→Android JUnit Test,对代码进行测试。
若结果正确JUnit窗口会显示绿色条,否则显示红色条,并且还会显示testAdd()方法运行的时间,此时单击出错的方法,会将错误定位到源代码中的某行代码,这样可以清楚地看到是哪一行代码出错,对修改Bug有很大帮助。
- LogCat的使用
在Android中,应用的调试信息会输出到这个设备单独的日志缓冲区中。LogCat就是从设备日志缓冲区取出这些日志信息的工具。
一般采用android.util.Log类的静态方法就可以实现。Log类所输出的日志内容分为5个级别,由低到高分别是Verbose(显示全部信息,黑色)、Debug(显示调试信息,蓝色)、Info(显示一般信息,绿色)、Warming(显示警告信息,橙色)、Error(显示错误信息,红色),这些级别分别对应Log类中的Log.v()、Log.d()、Log.i()、Log.w()、Log.e()等5个静态方法。
接下来在JUnit单元测试项目的MainActiity文件中添加打印的Log信息,具体代码如下所示:
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.v("MainActivity","Verbose"); Log.d("MainActivity","Debug"); Log.i("MainActivity","info"); Log.w("MainActivity","Warning"); Log.e("MainActivity","Error"); }}
在Eclipse依次选择Window→Show View→LogCat打开LogCat控制台窗口,运行程序,此时LogCat控制台窗口中会打印所有的Log信息。Log.x()方法中前一个引号中表示的是TAG值,是自定义TAG信息,用于过滤信息,通常使用类名,后一个引号中显示日志文本信息内容。LogCat窗口中有过滤器,可根据TAG、输出内容、进程id、应用名称、Log日志的级别过滤信息。
- Toast的使用
Toast会显示一个小消息告诉用户一些必要信息,该消息在显示短时间后自动消失,并不会干扰用户操作。Toast组件有两个方法:makeText()和show(),其中makeText()方法用于设置要显示的字符串,show()方法显示消息框,其基本语法如下:
Toast 变量名称=Toast.makeText(Context,Text,Time);变量名称.show();
第一个参数Context是一个抽象类,表示应用程序环境的信息,即当前组件的上下文环境,在Activity中使用当前“主程序类名.this”即可。Text是要显示的消息字符串,Time表示显示时长,该属性是特定的值,Toast.LENGTH_LONG表示较长的时间显示,Toast.LENGTH_SHORT表示较短时间显示。这两个属性值也可用int型0或1表示,“0”表示短时间,“1”表示长时间。
简写形式如下:
Toast.makeText(MainActivity.this,"这是弹出消息!",Toast.LENGTH_SHORT),show();
接下来将上面的实例代码添加到JUnit单元测试的MainActivity文件中,重新运行程序。
Toast组件默认显示在屏幕下方,不适于观察代码中的详细错误,多用于信息提醒,例如,网络未连接、密码错误等。
- Eclipse的程序调试——android学习笔记
- C++学习笔记——VS2015程序的简单调试
- Android学习笔记10——Android的调试
- Android eclipse 程序调试
- Android eclipse 程序调试
- Android eclipse 程序调试
- Android eclipse 程序调试
- eclipse上调试android里的程序。
- Eclipse——调试程序
- android学习笔记(9)android程序调试学习
- eclipse程序的调试
- android学习—— eclipse 上调试android的自带应用
- eclipse调试android NDK程序
- Android eclipse中程序调试
- Android eclipse中程序调试
- Android eclipse中程序调试
- Android eclipse中程序调试
- Android eclipse中程序调试
- Linux清理内存命令
- Object的摆放问题
- 【NOIP2016提高A组集训第5场11.2】寻找
- 个人笔记
- Matlab解常微分方程
- Eclipse的程序调试——android学习笔记
- Fragment使用的细节,切换与交互数据
- 田维经典语录(二)
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3),报到3的退出,问最后留下的是几号
- 第三十一天学习笔记
- 大话-从市场需求->芯片设计->SDK开发->Turnkey方案->定制化产品 --- 芯片设计(二)
- 图片缓存器 需要volley
- LeetCOde217详细分析并附求解代码
- 深度学习库Theano导入mnist数据库