安卓Android基础—第二天

  1. 测试的相关概念
    1. 好的软件不是开发出来的,是不断测试出回来的
    2. 根据是否知道源代码
      1. 黑盒测试
      2. 白盒测试
    3. 根据测试的粒度
      1. 方法测试
      2. 单元测试
      3. 集成测试
      4. 系统测试
    4. 根据测试的暴力程度
      1. 压力测试(谷歌工程师提供了一个monkey+COUNT指令可以进行压力测试)
      2. 冒烟测试
  2. 单元测试
    1. 定义一个类,继承AndroidTestCase类(可能有变化)
    2. 在清单文件里配置uses-library和instrumentation
  3. 日志猫的使用

    调试使用

  4. Login登录案例

    用户名密码保存到内部存储器,记住后下次登陆显示

  5. 使用上下文获取常见目录

    String path = context.getFilesDir().getPath();

    File file = new File(path,"info.txt");

  6. 登陆数据存储到sd卡
    1. String sdpath = Environment.getExternalStorageDirectory().getPath();
    2. 需要添加权限

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  7. 获取sd卡可用空间
    1. String sdpath = Environment.getExternalStorageDirectory().getPath();
    2. long total = file.getTotalSpace();
    3. long usable = file.getUsableSpace();
    4. String a = android.text.format.Formatter.formatFileSize(context,total);
    5. String b = android.text.format.Formatter.formatFileSize(context,usable);
  8. 文件权限的介绍
  9. SharedPreferences介绍(*****)
    1. 创建对象,拿到sp实例

      SharedPreferences sp = get SharedPreferences("config",0);

    2. 获取sp的编辑器

      Editor edit = sp.edit();

    3. 添加数据

      edit.putString("name",name);

      edit.putString("pwd",pwd);

    4. 把编辑器提交

    Edit.commit();

    数据保存成功

    1. 读取数据:

      先初始化sp的实例

    2. sp.getString("name","")

      sp.getString("pwd","")

    3. 把name和pwd设置到相应的显示控件上
  10. xml的序列号(使用Xmlserlalizer序列化器生成xml的步骤
    1. 获取serlalizer实例
      XmlSerializer serializer = Xml.newSerializer();
    2. 设置serializer序列化参数
      File file = new File("/data/data/com.lgqchinese.xmlcreate/text.xml");
      FileOutputStream fos = new FileOutputStream(file);
      serializer.setOutput(fos,"utf-8");
    3. 开始写xml开头
      serializer.startDocument("utf-8",true);
    4. 写根节点
      serializer.startTag(null,"smss");
    5. 写其他节点
      serializer.startTag(null,"sms");
    6. 在sms标签中写其他节点内容
      serializer.text("sms内容");
    7. 依次写xml结束
      serializer.endTag(null,"sms");
      serializer.endTag(null,"smss");
      serializer.endDocument();
  11. xml的解析
    1. xml来源于服务器,
    2. android的开发人员只负责解析,读取
    3. 服务器是以流的形式把数据返回
    4. 解析步骤
      1. 获取XmlOullParser实例
        XmlPullParser pullParser = Xml.newPullParser();
      2. 设置XmlOullParser参数
        pullParser.setInput(inputStream, "utf-8");
      3. 获取解析温江的事件类型
        int type = pullParser.getEventType();
      4. 判断解析的是哪个标签
      5.  1 package com.lgqchinese.xmlread;
         2 <*这是解析方法,需要在卖弄函数中调用*>
         3 import android.util.Xml;
         4 
         5 import org.xmlpull.v1.XmlPullParser;
         6 import org.xmlpull.v1.XmlPullParserException;
         7 
         8 import java.io.IOException;
         9 import java.io.InputStream;
        10 import java.util.ArrayList;
        11 import java.util.List;
        12 
        13 public class XmlReadFunc {
        14     public static List<MyJavaBean> parserXML(InputStream inputStream) throws XmlPullParserException, IOException {
        15         List<MyJavaBean> weatherLists = null;
        16         MyJavaBean myJavaBean = null;
        17         //获取实例
        18         XmlPullParser pullParser = Xml.newPullParser();
        19         //设置XmlPullParser参数
        20         pullParser.setInput(inputStream, "utf-8");
        21         //获取文档的时间类型
        22         int type = pullParser.getEventType();
        23         while (type != XmlPullParser.END_DOCUMENT) {
        24             //判断解析到哪个节点
        25             switch (type) {
        26                 case XmlPullParser.START_TAG://解析开始标签
        27                     //判断具体开始标签
        28                     if ("weather".equals(pullParser.getName())) {
        29                         weatherLists = new ArrayList<MyJavaBean>();
        30                     } else if ("channel".equals(pullParser.getName())) {
        31                         //创建myJavaBean对象
        32                         myJavaBean = new MyJavaBean();
        33                         //获取id值
        34                         String id = pullParser.getAttributeValue(0);
        35                         myJavaBean.setId(id);
        36 
        37                     } else if ("city".equals(pullParser.getName())) {
        38                         //获取city内容
        39                         String city = pullParser.nextText();
        40                         myJavaBean.setCity(city);
        41 
        42                     } else if ("temp".equals(pullParser.getName())) {
        43                         //获取temp内容
        44                         String temp = pullParser.nextText();
        45                         myJavaBean.setTemp(temp);
        46 
        47                     } else if ("wind".equals(pullParser.getName())) {
        48                         //获取wind内容
        49                         String wind = pullParser.nextText();
        50                         myJavaBean.setWind(wind);
        51 
        52                     } else if ("pm250".equals(pullParser.getName())) {
        53                         //获取pm250内容
        54                         String pm250 = pullParser.nextText();
        55                         myJavaBean.setPm250(pm250);
        56 
        57                     }
        58                     break;
        59                 case XmlPullParser.END_TAG://解析结束标签
        60                     //判断具体的结束标签
        61                     if ("channel".equals(pullParser.getName())) {
        62                         //把javabean对象放入集合中
        63                         weatherLists.add(myJavaBean);
        64                     }
        65                     break;
        66             }
        67 
        68 
        69             //不停的向下解析
        70             type = pullParser.next();
        71         }
        72 
        73 
        74         return weatherLists;
        75     }
        76 }
昔日我曾苍老,如今风华正茂(ง •̀_•́)ง
原文地址:https://www.cnblogs.com/lgqrlchinese/p/9878618.html