欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android xml文件的序列化實(shí)現(xiàn)代碼

 更新時(shí)間:2014年02月26日 14:35:05   作者:  
Android提供了XmlSerializer來實(shí)現(xiàn)XML文件的序列化。相比傳統(tǒng)方式,更高效安全,需要的朋友可以參考下

傳統(tǒng)方式:

復(fù)制代碼 代碼如下:

public void backSms(View view){
  //假設(shè)我已經(jīng)獲取到了所有的短信
  StringBuilder sb = new StringBuilder();
  sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
  sb.append("<smss>");
  for(SmsInfo info:smsInfos){
   sb.append("<sms>");

   sb.append("<address>");
   sb.append(info.getAddress());
   sb.append("</address>");

   
   sb.append("<type>");
   sb.append(info.getType());
   sb.append("</type>");

   sb.append("<body>");
   sb.append(info.getBody());
   sb.append("</body>");

   sb.append("<date>");
   sb.append(info.getBody());
   sb.append("</date>");

   sb.append("</sms>");
  }
  sb.append("</smss>");
  try{
   File file = new File(Environment.getExternalStorageDirectory(),"backup.xml");
   FileOutputStream fos = new FileOutputStream(file);
   fos.write(sb.toString().getBytes());
   Toast.makeText(this, "備份成功", Toast.LENGTH_LONG).show();
  }catch(Exception e){
   e.printStackTrace();
   Toast.makeText(this, "備份失敗", Toast.LENGTH_LONG).show();
  }

 }

采用XmlSerializer實(shí)現(xiàn)的方式:

復(fù)制代碼 代碼如下:

public void backSms2(View view){
  try{
   XmlSerializer serializer =  Xml.newSerializer();
   File file = new File(Environment.getExternalStorageDirectory(),"backup2.xml");
   FileOutputStream os = new FileOutputStream(file);
   //初始化序列號(hào)器 指定XML數(shù)據(jù)寫入到哪個(gè)文件 并且指定文件的編碼方式
   serializer.setOutput(os,"utf-8");
   serializer.startDocument("uft-8", true);
   serializer.startTag(null, "smss");
   for(SmsInfo info:smsInfos){
    serializer.startTag(null, "sms");
    serializer.attribute(null, "id", info.getId()+"");

    serializer.startTag(null, "body");
    serializer.text(info.getBody());
    serializer.endTag(null, "body");

    serializer.startTag(null, "address");
    serializer.text(info.getAddress());
    serializer.endTag(null, "address");

    serializer.endTag(null, "sms");
   }

   serializer.endTag(null, "smss");
   serializer.endDocument();
  }catch(Exception e){
   e.printStackTrace();
   Toast.makeText(this, "備份失敗", 0);
  }

 }

相關(guān)文章

  • Android自定義控件實(shí)現(xiàn)手勢(shì)密碼

    Android自定義控件實(shí)現(xiàn)手勢(shì)密碼

    這篇文章主要介紹了Android自定義控件實(shí)現(xiàn)手勢(shì)密碼的相關(guān)資料,實(shí)現(xiàn)手勢(shì)解鎖功能,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 微信公眾平臺(tái)開發(fā)入門教程(圖文詳解)

    微信公眾平臺(tái)開發(fā)入門教程(圖文詳解)

    由于微信的大熱,為了更好的方便使用微信的用戶查詢一些信息,這篇文章是入門級(jí)的微信公眾平臺(tái)開發(fā)教程,需要的朋友可以參考下
    2013-09-09
  • Android 判斷SIM卡屬于哪個(gè)移動(dòng)運(yùn)營(yíng)商詳解及實(shí)例

    Android 判斷SIM卡屬于哪個(gè)移動(dòng)運(yùn)營(yíng)商詳解及實(shí)例

    這篇文章主要介紹了Android 判斷SIM卡屬于哪個(gè)移動(dòng)運(yùn)營(yíng)商詳解相關(guān)資料,并附實(shí)例代碼,具有一定參考價(jià)值,需要的朋友可以參考下
    2016-11-11
  • Android繪制鐘表的方法

    Android繪制鐘表的方法

    這篇文章主要為大家詳細(xì)介紹了Android繪制鐘表的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Android下拉刷新控件PullToRefresh實(shí)例解析

    Android下拉刷新控件PullToRefresh實(shí)例解析

    這篇文章主要為大家詳細(xì)解析了Android下拉刷新控件PullToRefresh實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • AndroidX下使用Activity和Fragment的變化詳解

    AndroidX下使用Activity和Fragment的變化詳解

    這篇文章主要介紹了AndroidX下使用Activity和Fragment的變化詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Android實(shí)現(xiàn)登錄注冊(cè)功能

    Android實(shí)現(xiàn)登錄注冊(cè)功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)登錄注冊(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • android IPC之binder通信機(jī)制

    android IPC之binder通信機(jī)制

    Binder通信機(jī)制說來簡(jiǎn)單,但是在使用的過程的遇到了一些問題,最后終于解決了,現(xiàn)在曬出來和大家分享一下,希望可以幫助你們
    2012-11-11
  • 通俗易通講解Android藍(lán)牙鍵值適配

    通俗易通講解Android藍(lán)牙鍵值適配

    這篇文章介紹了Android藍(lán)牙鍵值適配的方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值。需要的朋友可以收藏下,方便下次瀏覽觀看
    2021-12-12
  • Android國(guó)際化之中英文語言切換

    Android國(guó)際化之中英文語言切換

    大家好,本篇文章主要講的是Android國(guó)際化之中英文語言切換,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評(píng)論