public class BackUpSmsActivity extends BaseActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_backupsms);    }    public void addSms(View view){        try {            Uri url = Uri.parse("content://sms");            ContentValues values = new ContentValues();            values.put("date", System.currentTimeMillis());            values.put("type", 1);            values.put("address", "5446");            values.put("body", "早上好");            getContentResolver().insert(url, values);        } catch (Exception e) {            e.printStackTrace();            show("备份失败");        }    }    /** * 备份短信 * @param view */    public void backupSms(View view){        List<SmsInfo> smsInfos = new ArrayList<SmsInfo>();        Uri uri = Uri.parse("content://sms");        Cursor cursor = getContentResolver().query(uri, new String[]{"date","type","address","body"}, null, null, null);        while(cursor.moveToNext()){            long date = cursor.getLong(cursor.getColumnIndex("date"));            int type = cursor.getInt(cursor.getColumnIndex("type"));            String address = cursor.getString(cursor.getColumnIndex("address"));            String body = cursor.getString(cursor.getColumnIndex("body"));            SmsInfo info = new SmsInfo(date, type, body, address);            smsInfos.add(info);            doBackUp(smsInfos);        }    }    private void doBackUp(List<SmsInfo> smsInfos) {        try {            XmlSerializer serializer = Xml.newSerializer();            OutputStream os = new FileOutputStream(new File("/sdcard/sms.xml"));            serializer.setOutput(os, "utf-8");            serializer.startDocument("utf-8", true);            serializer.startTag(null, "smss");            for(SmsInfo info : smsInfos){                serializer.startTag(null, "sms");                serializer.startTag(null, "date");                serializer.text(info.getDate() + "");                serializer.endTag(null, "date");                serializer.startTag(null, "type");                serializer.text(info.getType() + "");                serializer.endTag(null, "type");                serializer.startTag(null, "address");                serializer.text(info.getAddress() + "");                serializer.endTag(null, "address");                serializer.startTag(null, "body");                serializer.text(info.getBody() + "");                serializer.endTag(null, "body");                serializer.endTag(null, "sms");            }            serializer.endTag(null, "smss");            serializer.endDocument();            os.close();        } catch (Exception e) {            e.printStackTrace();            Toast.makeText(this, "备份失败", 1).show();        }    }}

实体类

/** * 短信 * @author Administrator * */public class SmsInfo {    private int id;    private long date;    private int type;    private String body;    private String address;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public SmsInfo() {        super();        // TODO Auto-generated constructor stub    }    public SmsInfo(long date, int type, String body, String address) {        this.date = date;        this.type = type;        this.body = body;        this.address = address;    }    public SmsInfo(int id, long date, int type, String body, String address) {        super();        this.id = id;        this.date = date;        this.type = type;        this.body = body;        this.address = address;    }    public long getDate() {        return date;    }    public void setDate(long date) {        this.date = date;    }    public int getType() {        return type;    }    public void setType(int type) {        this.type = type;    }    public String getBody() {        return body;    }    public void setBody(String body) {        this.body = body;    }    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }}

更多相关文章

  1. Android(安卓)SDK下载和更新失败的解决方法!!!
  2. android电话拦截及短信过滤
  3. 第三课:android发送短信
  4. android 发送短信的两种方式
  5. androidのMMS短信发送过程(三)
  6. android简单实现短信拦截
  7. Android(安卓)Studio: 模拟器启动失败解决(Emulator: Process fin
  8. Android(安卓)Studio BUILD FAILED finished with non-zero exit
  9. Android通讯:短信

随机推荐

  1. [转]Android的应用程序结构分析:HelloActi
  2. unity与Android相互调用
  3. Android画图之Matrix(二)
  4. Android中使用google Analytics
  5. SQLite数据库(2):ANDROID工程中的使用
  6. Android(安卓)双击返回键退出程序 实现
  7. Android菜单详解(二)——创建并响应选项菜
  8. android 实现 APP 保活且正常升级的方法
  9. Android版本问题记录:Android 8.0下异常On
  10. android基础知识---重写软键盘回车的点击