編輯:系統備份
主要是使用內容提供者ContentProvider
#1.在activity_main.xml布局文件中添加寫sdcard權限,並添加讀短信的權限
package com.wzw.backupsms;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlSerializer;
import com.wzw.backupsms.entity.SmsInfo;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.util.Log;
import android.util.Xml;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void backupsms(View v){
Uri uri=Uri.parse(content://sms/);
ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(uri, new String[]{_id,address,date,type,body}, null, null, null);
if(cursor!=null&&cursor.getCount()>0){
List smsList=new ArrayList();
SmsInfo smsInfo;
while(cursor.moveToNext()){ //控制游標指針,向下移一位
smsInfo=new SmsInfo();
smsInfo.setId(cursor.getInt(0)); //設置ID
smsInfo.setAddress(cursor.getString(1)); //設置短信號碼
smsInfo.setDate(cursor.getLong(2)); //設置短信時間
smsInfo.setType(cursor.getInt(3)); //設置短信類型
smsInfo.setBody(cursor.getString(4)); //設置短信內容
smsList.add(smsInfo);
}
cursor.close();
WriteToLocal(smsList);
}
}
/**
* 序列化到本地
*/
private void WriteToLocal(List smsList){
XmlSerializer serializer=Xml.newSerializer();
try {
FileOutputStream fos=new FileOutputStream(/mnt/sdcard/sms.xml);
serializer.setOutput(fos, utf-8);
serializer.startDocument(utf-8, true);
serializer.startTag(null, smss);
for (SmsInfo smsInfo : smsList) {
serializer.startTag(null, sms);
serializer.attribute(null, id,String.valueOf(smsInfo.getId()));
//寫地址
serializer.startTag(null, address);
serializer.text(smsInfo.getAddress());
serializer.endTag(null, address);
//寫類型
serializer.startTag(null, type);
serializer.text(String.valueOf(smsInfo.getType()));
serializer.endTag(null, type);
//寫時間
serializer.startTag(null, date);
serializer.text(String.valueOf(smsInfo.getDate()));
serializer.endTag(null, date);
//寫內容
serializer.startTag(null, body);
serializer.text(smsInfo.getBody());
serializer.endTag(null, body);
serializer.endTag(null, sms);
}
serializer.endTag(null, smss);
serializer.endDocument();
Toast.makeText(this, 恭喜你,備份成功!, 0).show();
} catch (Exception e) {
Toast.makeText(this, 我去,備份失敗!, 0).show();
e.printStackTrace();
}
}
}
10086 1 1406446124317 just for test!110 1 1406446024971 world5556 1 1406446006018 hello
三星I9100G備份EFS教程
EFS丟失將造成IMEI號變空,基帶丟失無信號(刷機無法解決)並且失去保修! 症狀:開機提示未插入SIM卡,使用*#06#提示imei串號為空,查看關於手機,顯示基帶未
安卓手機钛備份恢復程序出現意外停止怎麼回事
安卓手機刷機是用戶們經常做的事,很多用戶都會用到這神器钛備份,這軟件備份軟件很是方便,對於刷機黨來說是個非常重要的
小米手機備份數據(自帶軟件)與刷機圖文教程
小米手機的口號--“為發燒而生”,為了更好的體驗手機,刷機必不可少。從穩定版刷至開發版,從2.3.5刷至V4、V5…,刷機前必不可少
安卓手機備份數據有哪些方法 備份方法詳細介紹
安卓手機這刷機是很多玩家都會去嘗試的,不過在這刷機之前這數據的備份也是很重要的,那麼這數據的備份都有哪些方法呢?下