android day02

冒烟测试:
adb shell monkey -p <程序的包名> -v <事件的数量>

android下单元测试:
1.在AndroidManifest.xml文件中配置一下信息:

在manifest节点下:
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.itheima28.junittest" />

在application节点下配置下面信息:
<uses-library android:name="android.test.runner" />

2.测试时, 定义一个类继承AndroidTestCase,可使用断言判定assertequal();


文件存储:

this.getFilesDir(); // /data/data/包名/files
this.getCacheDir(); // /data/data/包名/cache

openFileOutput("aa.txt", 0); /data/data/包名/files/aa.txt

3.输出log Log.x(tag,msg);
4.MathUtils


数据存储及访问:
存储方式:
1)文件
2)SharedPreferences
3)SQLite数据库
4)Content Provider内容提供者
5)网络

手机内存:this.getFilesDir();得到Files对象即安装包目录:/data/data/包名/files
this.getCacheDir();得到Files对象即安装包目录:/data/data/包名/cache
sd卡:Environment.getExternalStorageDirectory():获取SD卡路径
sd卡读权限:android:permission.READ_EXTERNAL_STORAGE
sd卡写权限:android:permission.WRITE_EXTERNAL_STORAGE
获取当前SD卡状态:Environment.getExternalStorageState()若返回MEDIA_UNMOUNTED则卸载,否则MEDIA_MOUNTED挂载中
获取SD卡剩余空间
写数据:
openFileOutPut("aa.txt",mode);//打开输出流,路径为/data/data/包名/files/aa.txt
权限相关:
1. 私有文件 Context.MODE_PRIVATE
2. 可读文件 Context.MODE_WORLD_READABLE
3. 可写文件 Context.MODE_WORLD_WRITEABLE
4. 可读可写文件 Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE

- --- --- ---
第1位:代表文件类型(d:文件夹;-:文件;l:挂在到某一个文件)
第2~4位:代表当前用户的权限
第5~7位:代表当前用户所在的组的其他组员的权限
第8~10位:代表其他所有用户的权限

SharedPreferences存储路径: /data/data/包名/shared_prefs/xxx.xml
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

SharedPreferences的四种操作模式:
Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

将数据保存至SharedPreferences:
SharedPreferences preferences=getSharedPreferences("user",Context.MODE_PRIVATE);//根据Context获取SharedPreferences对象
Editor editor=preferences.edit();//利用edit()方法获取Editor对象。
String name="xixi";
String age="22";
editor.putString("name", name);//通过Editor对象存储key-value键值对数据。
editor.putString("age", age);
editor.commit();//通过commit()方法提交数据。

从SharedPreferences获取数据:
SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);
String name=preferences.getString("name", "defaultname");
String age=preferences.getString("age", "0");

XML序列化:
1.获得序列化对象 XmlSerializer s=Xml.newSerializer();
2.s.startDocument("utf-8",true);//写开始
3.s.startTag(存储空间(null),节点名字);//写节点开始
4.s.attribute(null,"id","10");//写节点属性
5.s.text("aaaaaa");
6.s.endTag(存储空间(null),节点名字);//写节点结束
7.s.endDocument();//写结束

1.XmlPullParser p=Xml.newPullParser();//获得Pull解析器
2.p.setInput(FileInputStream,"utf-8");//指定解析的文件和编码方式
3.int eventType=p.getEventType();//获得事件类型
4.遍历 eventType!=XmlPullParser.END_DOCUMENT
解析 String tagName=p.getName();//获得Tag名称
p.getAttributeValue(null,"id");//获取属性值
p.nextText();
eventType=p.next();

posted @ 2014-11-20 11:55  Eudora_Do  阅读(103)  评论(0编辑  收藏  举报