Android - 测试(粒度/程度/),JunitTest,logcat,SharedPreferences,上下文,文件权限,生成xml文件,xml的解析

转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72868700

1.测试

  • 黑盒测试

    不知道软件的源代码.

  • 白盒测试

    知道应用程序的源代码

2.测试的粒度

  • 单元测试 junit test
  • 集成测试 intergration test
  • 系统测试 system test

3.测试的程度

  • 压力测试 (pressure test)
  • 冒烟测试 (smoke test)

        >monkey 猴子
                        打开cmd,输入adb shell    换行后输入# monkey    之后输入 #monkey 要测试的次数
    

4.Android下的junittest

需要把应用程序部署到真实的手机或者模拟器,在dalvik虚拟机里面运行.

步骤:

  1. 编写一个业务方法
  2. 编程测试类 extends AndroidTestCase
  3. 在清单文件中配置参数

    <!-- 测试的指令集 -->
     <instrumentation android:name="android.test.InstrumentationTestRunner
     android:targetPackage="com.mythmayor.junit"></instrumentation>
    <!--  测试需要的jar包 -->
    <uses-library android:name="android.test.runner"/>
    

5.logcat

把应用程序的执行的log打印输出.

System.out.println();
Log.i();

Log.v(tag, msg);//verbose 提醒
Log.d(tag, msg);//debug 调试
Log.i(tag, msg);//info 信息
Log.w(tag, msg);//warn 警告
Log.e(tag, msg);//error 错误
Log.wtf(tag, msg);//what the fuck.

6.数据存储

  • 文件存储
1. 应用程序可以把数据存储在自己私有的文件夹里面.只能存储在自己的文件夹.

/data/data/<包名>/…

2. 应用程序可以把数据存储在外存储卡,sd卡(声明权限)
Environment.getExternalStorageDirectory()//获取外部存储卡的目录
检查sd卡是否可用,检查sd卡的剩余空间.
3. 参数 SharedPreferences
    使用步骤:
    1. 获取到 sp = this.getSharedPreferences("config", 0);
    2. 获取编辑器 Editor editor = sp.edit();
    3. editor.putString(key,value)    putInt()  putDouble()
    4. editor.commit();
    5. 获取数据 sp.getString(key,dafvalue); sp.getInt()...
4.获取资产目录(assets)下的资源文件

context.getAssets().open(文件名);

7.上下文

应用程序运行的环境.

  • this.getFilesDir() —>data/data/包名/files 保存重要的配置信息
  • this.getCacheDir() —>data/data/包名/cache 缓存目录

8.文件权限

  • 应用程序在data/data/自己包名/目录下创建的文件默认都是私有的, 别的应用程序是不可以访问的

9.生成xml文件

  • StringBuilder
  • Xml序列化器

        // 1.得到xml文件的序列化器
        XmlSerializer serializer = Xml.newSerializer();
        // 2.指定序列化器的一些初始参数
        File file = new File(getFilesDir(), name + ".xml");
        FileOutputStream os = new FileOutputStream(file);
        serializer.setOutput(os, "utf-8");
        // 3.写xml文件.
        serializer.startDocument("utf-8", true); 写开头
                          serializer.startTag(null, "number"); 开始标签
                         serializer.text() 写文本标签
        serializer.endTag(null, "number"); 结束标签
        serializer.endDocument(); 写结尾
        serializer.attribute(null, name, value) 写属性
    

10.xml的解析

  • SAX
  • DOM & DOM4j
  • PULL解析

        //1.获取到一个xml解析器
        XmlPullParser parser = Xml.newPullParser();
        //2.设置解析器的初始化参数
        FileInputStream inputStream = new FileInputStream(file);
        parser.setInput(inputStream, "utf-8");
        //3.解析xml文件
        XmlPullParser.START_TAG 开始节点
        XmlPullParser.END_TAG 结束节点
        parser.nextText(); <tag>foo</tag> 取两个节点中的foo文本
        parser.getName(); 获取当前节点的名称
        parser.next(); 让解析器解析下一个节点.
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值