XmlSerializer生成xml文件(备份短信)
发布时间:2020-12-16 08:49:05 所属栏目:百科 来源:网络整理
导读:/** * 备份短信 * * @param context */public static void backupSms(Context context,BackupProcess backupProcess) {ContentResolver resolver = context.getContentResolver();Uri uri = Uri.parse("content://sms/");Cursor cursor = resolver.query(uri
/** * 备份短信 * * @param context */ public static void backupSms(Context context,BackupProcess backupProcess) { ContentResolver resolver = context.getContentResolver(); Uri uri = Uri.parse("content://sms/"); Cursor cursor = resolver.query(uri,new String[] { "address","date","type","body" },null,null); backupProcess.backupMax(cursor.getCount()); XmlSerializer serializer = Xml.newSerializer(); File file = new File(Environment.getExternalStorageDirectory(),"backup.xml"); BufferedOutputStream bos = null; try { bos = new BufferedOutputStream(new FileOutputStream(file)); serializer.setOutput(bos,"utf-8"); serializer.startDocument("utf-8",true); serializer.startTag(null,"smss"); int pd_progress = 0; while (cursor.moveToNext()) { Thread.sleep(500); serializer.startTag(null,"sms"); serializer.startTag(null,"address"); String address = cursor.getString(0); serializer.text(address); serializer.endTag(null,"address"); serializer.startTag(null,"date"); String date = cursor.getString(1); serializer.text(date); serializer.endTag(null,"date"); serializer.startTag(null,"type"); String type = cursor.getString(2); serializer.text(type); serializer.endTag(null,"type"); serializer.startTag(null,"body"); String body = cursor.getString(3); serializer.text(body); serializer.endTag(null,"body"); serializer.endTag(null,"sms"); pd_progress++; backupProcess.backupProcess(pd_progress); } cursor.close(); serializer.endTag(null,"smss"); serializer.endDocument(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } finally { if (bos != null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |