国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android之短信高效備份的方式

2020-02-21 17:29:33
字體:
來源:轉載
供稿:網友

短消息備份,使用非常笨拙的方法將短消息保存到XML文件,并存儲在外部存儲中,這在我們程序員編寫程序的時候必須要做的,那么Android之短信高效備份的方式大家知道嗎?一起來看看吧!

存儲短信,要以對象的方式存儲。首先創(chuàng)建javabean:

package com.itydl.createxml.domain;  public class Message {   private String body;  private String date;  private String address;  private String type;  public String getBody() {   return body;  }  public void setBody(String body) {   this.body = body;  }  public String getDate() {   return date;  }  public void setDate(String date) {   this.date = date;  }  public String getAddress() {   return address;  }  public void setAddress(String address) {   this.address = address;  }  public String getType() {   return type;  }  public void setType(String type) {   this.type = type;  }  public Message(String body, String date, String address, String type) {   super();   this.body = body;   this.date = date;   this.address = address;   this.type = type;  }     } 

?接著在mainactivity中的diamante如下:

package com.itydl.xmlserializer;  import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List;  import org.xmlpull.v1.XmlSerializer;  import com.itheima.createxml.domain.Message;  import android.os.Bundle; import android.app.Activity; import android.util.Xml; import android.view.Menu; import android.view.View; //為了更好地保存不同,且負責的數(shù)據(jù),使用xml序列器 public class MainActivity extends Activity {   List<Message> smsList;   @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   // 虛擬10條短信   smsList = new ArrayList<Message>();   for (int i = 0; i < 10; i++) {    Message sms = new Message("小志好棒" + i, System.currentTimeMillis()      + "", "138" + i + i, "1");    smsList.add(sms);   }  }   public void click(View v){   //使用xml序列化器生成xml文件。序列化器會把亂七八糟的東西(短信里有標簽屬性)過濾掉   //1.拿到序列化器對象   XmlSerializer xs = Xml.newSerializer();   //2.初始化.因為涉及到xml文件,因此初始化也包含文件名和路徑   File file = new File("sdcard/sms2.xml");   try {    FileOutputStream fos = new FileOutputStream(file);    //enconding:指定用什么編碼生成xml文件    xs.setOutput(fos, "utf-8");//setOutput(OutputStream os, String encoding) ,編碼方式默認u8        //3.開始生成xml文件    //enconding:指定頭結點中的enconding屬性的值    xs.startDocument("utf-8", true);//生成頭結點(最高一行),startDocument(String encoding, Boolean standalone)        xs.startTag(null, "message");//生成一個根節(jié)點,開始標簽節(jié)點        for (Message sms : smsList) {     xs.startTag(null, "sms");          xs.startTag(null, "body");//start和end一對一對的寫。還有四個子節(jié)點     xs.text(sms.getBody() + "<body>");//這樣不會報錯。而是把<body>當做了內容了     xs.endTag(null, "body");          xs.startTag(null, "date");     xs.text(sms.getDate());     xs.endTag(null, "date");          xs.startTag(null, "type");     xs.text(sms.getType());     xs.endTag(null, "type");          xs.startTag(null, "address");     xs.text(sms.getAddress());     xs.endTag(null, "address");          xs.endTag(null, "sms");    }        xs.endTag(null, "message");        //告訴序列化器,文件生成完畢    xs.endDocument();   } catch (Exception e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  }  } 

最后也要記得加入權限:

?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>?

?

可見這種方式解決了前面遇到的問題,而且高效了很多。

上文是武林技術頻道小編將和大家分享Android之短信高效備份的方式,大家都了解了嗎?要成為更加出色的程序員,我們都要在這里進行前行。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永城市| 温宿县| 安塞县| 隆回县| 太湖县| 怀安县| 沾化县| 天峻县| 平和县| 中江县| 谢通门县| 旬邑县| 称多县| 沐川县| 长葛市| 福安市| 正蓝旗| 浦江县| 和龙市| 江门市| 澎湖县| 长顺县| 柞水县| 固阳县| 维西| 雷波县| 太仆寺旗| 武胜县| 藁城市| 田阳县| 昌图县| 安庆市| 尤溪县| 泌阳县| 咸阳市| 广东省| 苏尼特左旗| 密云县| 永清县| 防城港市| 荔浦县|