您的位置:首页 > 其它

6月11日 学习收获

2014-06-12 22:52 190 查看
能写八个小时程序,没感觉厌烦,没有玩游戏浪费时间
学到的东西: File的参数 contentresolver与contentprovider? resolver
List<Obj>实例化时用Arraylist<Obj>

构造有参数和无参数的构造方法

new Thread(){}.start();

重写run方法

new Thread(){

@Override

public void run() {

super.run();

}

}.start();

for迭代参数

List<SmsInfo> smsInfos=service.getSmsInfos(); for(尖括号参数类型 参数:集合名){}

for(SmsInfo s:smsInfos){

}

File api参数

File file = new File (String path);

File file=new File();

File file=new File("sdcard/smsbackup.xml");

子线程显示Toast标准写法

Looper.prepare();

Toast.makeText(getApplicationContext(), "备份完成", 0).show();

Looper.loop();

耗时操作 放在service中 开启一个子线程 重写run方法

run方法中的内容:得到集合List 写入xml文件

(new File,new 序列化器,输出流,xmlSerializer set流和编码"UTF-8",设置xml头尾 ,for迭代头 内容 尾,刷新和关闭流,Toast)

备份的还原:

读取xml文件 解析xml数据 将数据插入到短信中

流 解析 插入(一条短信结束节点,ContentReslover insert) 不可消除的对话框(防止终止还原)

解析注意点:

int event
= parser.getEventType();

ContentValues values=null;其实是一个List<Obj>集合

while (event!=XmlPullParser.END_DOCUMENT){} XmlPullParser

switch case id :

values = new ContentValues();

getName()
"smss".equals(parser.getName())

values.put( "address",
parser.nextText());

例子:switch (event) {

case XmlPullParser. START_TAG:

if( "smss".equals(parser.getName())){

values = new ContentValues();

}

if( "address".equals(parser.getName())){

values.put( "address",
parser.nextText());

}

解析完一条短信,插入短信应用 ContentResolver insert Uri. parse( "content://sms/")
values= null;

if("smss" .equals(parser.getName())){

ContentResolver resolver = context.getContentResolver();

resolver.insert(Uri. parse("content://sms/"),
values);

values= null;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: