码迷,mamicode.com
首页 > 移动开发 > 详细

安卓笔记2——安卓下的测试和数据存储方式

时间:2015-04-17 23:50:43      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:数据存储   文件存储   pull解析   shareprefe   

今天开始介绍安卓的另一个基础知识,安卓下的测试和数据存储的几种方式。
以后后同步发出对应笔记。老规矩,用一张图来介绍今天的内容。
图片看不清的话可以右键新窗口打开。

技术分享

一.测试

1,分类

  黑盒测试: 是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
  
  白盒测试: 又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
  
  单元测试: 又称模块测试,是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
  
  功能测试: 根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
  
  压力测试: 主体向被观察者布置一定量任务和作业,借以观察个体完成任务的行为。
  
  集成测试: 是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口

2.单元测试框架(Junit)

Android的代码只能运行在手机中的Dalvik虚拟机里, 在PC机的JVM下会报错异常. 写测试用例, 通过将测试代码上传到Android手机或模拟器中运行.

3.Android下单元测试的流程

1,写业务逻辑代码

2,写测试用例, 一个类继承AndroidTestCase

3,写测试方法public void testAdd() throws Exception

4.配置清单文件
在mainfest节点下添加instrumention,
application节点下添加 uses-library

4,Android 下的logcat介绍
Log.v : verbose 提示 黑色
Log.d : debug 调试 蓝色
Log.i : info 提醒 绿色
Log.w : warn 警告 橙色
Log.e : error 错误 红色

二、 Android文件存储

1、保存数据到SD卡

1,获取外置sd卡目录:

      Environment.getExternalStorageDirectory()

2,获取挂载状态:

      Environment.getExternalStorageState()

3,获取sd剩余空间:

          Environment.getExternalStorageDirectory().getUsableSpace();

2、保存数据到内部存储设备(/data/data/包名/)

应用私有文件夹, 默认情况下, 其他应用无法访问. 保证其数据安全

Context.getFilesDir() == /data/data/包名/files 用户文件目录
Context.getCacheDir() == /data/data/包名/cache 缓存目录

三、Android权限机制

MODE_PRIVATE 私有文件
MODE_WORLD_READABLE 全局可读文件
MODE_WORLD_WRITEABLE 全局可写文件
MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE 全局可读可写

四、安卓XML数据存取(pull解析器)

1.xml数据解析

  a. 创建xml解析器
  
        XmlPullParser parser = Xml.newPullParser();

  b. 初始化xml解析器, 指定解析哪个流, 以什么编码解析
             parser.setInput(is, "utf-8");
  c. 解析xml数据
             while(type != XmlPullParser.END_DOCUMENT){ // 直到文档的结束
          // 读取数据
          ...
          type = parser.next(); // 到下一个
      }
  d. 扫尾工作
  关闭数据流

2、xml的创建 (序列化)

  a. 创建Xml序列化器
     XmlSerializer serializer = Xml.newSerializer();
  b. 初始化xml序列化器, 设置输出流, 指定编码集
     serializer.setOutput(fos, "utf-8");
  c. 写xml数据 
    // 文档的开头 
  serializer.startDocument("utf-8", true); 
  serializer.startTag(null, "info");   
  serializer.startTag(null, "qq");
      serializer.text(qq);
      serializer.endTag(null, "qq");
      serializer.startTag(null, "pwd");
      serializer.text(pwd);
      serializer.endTag(null, "pwd");
      serializer.endTag(null, "info");
          // 文档的结束
      serializer.endDocument();
  d. fos.close();

五、SharedPreference

保存位置: /data/data/包名/shared_prefs/xxx.xml

1、写入数据

  初始化SharedPreferences
  SharedPreferences sp = this.getSharedPreferences("config", MODE_PRIVATE);
  通过SharedPreferences获取编辑器
  Editor editor = sp.edit();
  写入数据
  editor.putString("qq", qq);
  editor.putString("pwd", pwd);
  editor.putBoolean("isChecked", isChecked);
  提交数据
  editor.commit();

2.读取数据

     // 1. 初始化SharedPreferences
      SharedPreferences sp = this.getSharedPreferences("config", MODE_PRIVATE);
  
      // 2. 读取数据, 设置数据
      String qq = sp.getString("qq", "");
      boolean isChecked = sp.getBoolean("isChecked", false);

安卓笔记2——安卓下的测试和数据存储方式

标签:数据存储   文件存储   pull解析   shareprefe   

原文地址:http://blog.csdn.net/jinfulin/article/details/45103893

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!