XmlPullParser解析xml文件(还原短信)
发布时间:2020-12-16 06:01:31 所属栏目:百科 来源:网络整理
导读:/** * 还原短信 */public static void retoreSms(Context context) {ContentResolver resolver = context.getContentResolver();Uri uri = Uri.parse("content://sms");File file = new File(Environment.getExternalStorageDirectory(),"backup.xml");Buffe
/** * 还原短信 */ public static void retoreSms(Context context) { ContentResolver resolver = context.getContentResolver(); Uri uri = Uri.parse("content://sms"); File file = new File(Environment.getExternalStorageDirectory(),"backup.xml"); BufferedInputStream bis = null; try { bis = new BufferedInputStream(new FileInputStream(file)); XmlPullParser parser = Xml.newPullParser(); parser.setInput(bis,"utf-8"); int event = parser.getEventType(); SmsInfo smsInfo = null; while (event != XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_TAG: if ("sms".equals(parser.getName())) { smsInfo = new SmsInfo(); }else if ("address".equals(parser.getName())) { smsInfo.setAddress(parser.nextText()); }else if("date".equals(parser.getName())){ smsInfo.setDate(parser.nextText()); }else if("type".equals(parser.getName())){ smsInfo.setType(parser.nextText()); }else if("body".equals(parser.getName())){ smsInfo.setBody(parser.nextText()); } break; case XmlPullParser.END_TAG: if ("sms".equals(parser.getName())) {//一条短信结束 ContentValues values = new ContentValues(); values.put("address",smsInfo.getAddress()); values.put("date",smsInfo.getDate()); values.put("type",smsInfo.getType()); values.put("body",smsInfo.getBody()); resolver.insert(uri,values); } break; } event = parser.next(); } } catch (FileNotFoundException e) { e.printStackTrace(); // can't reach } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |