采用xml的方式保存数据

  1 package com.example.myxmlmake;
  2 
  3 import java.io.File;
  4 import java.io.FileOutputStream;
  5 import java.util.ArrayList;
  6 import java.util.List;
  7 import java.util.Random;
  8 
  9 import org.xmlpull.v1.XmlSerializer;
 10 
 11 import com.example.myxmlmake.domain.SmsInfo;
 12 
 13 import android.os.Bundle;
 14 import android.os.Environment;
 15 import android.app.Activity;
 16 import android.util.Xml;
 17 import android.view.Menu;
 18 import android.view.View;
 19 import android.widget.Toast;
 20 
 21 public class MainActivity extends Activity {
 22 
 23     private List<SmsInfo> smsInfos;
 24     @Override
 25     protected void onCreate(Bundle savedInstanceState) {
 26         super.onCreate(savedInstanceState);
 27         setContentView(R.layout.activity_main);
 28         smsInfos = new ArrayList<SmsInfo>();
 29         Random random = new Random();
 30         long number = 135000001;
 31         for(int i=0;i<10;i++)
 32         {
 33             smsInfos.add(new SmsInfo(System.currentTimeMillis(),random.nextInt(2)+1,"短信内容"+i, Long.toString(number++)));
 34         }
 35     }
 36 
 37     public void mybackup1(View view)
 38     {
 39         StringBuilder sb = new StringBuilder();
 40         sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
 41         sb.append("<smss>");
 42         for(SmsInfo info : smsInfos)
 43         {
 44             sb.append("<sms>");
 45             
 46             sb.append("<address>");
 47             sb.append(info.getAddress());
 48             sb.append("</address>");
 49             
 50             sb.append("<type>");
 51             sb.append(info.getType());
 52             sb.append("</type>");
 53             
 54             sb.append("<body>");
 55             sb.append(info.getBody());
 56             sb.append("</body>");
 57             
 58             sb.append("<date>");
 59             sb.append(info.getDate());
 60             sb.append("</date>");
 61             
 62             sb.append("</sms>");
 63         }
 64         sb.append("</smss>");
 65         try{
 66         File file = new File(Environment.getExternalStorageDirectory(),"myback1.xml");
 67         FileOutputStream fos = new FileOutputStream(file);
 68         fos.write(sb.toString().getBytes());
 69         fos.close();
 70         Toast.makeText(this, "生成成功!", 0).show();
 71         }catch(Exception e){
 72             e.printStackTrace();
 73             Toast.makeText(this, "生成失败!", 0).show();
 74         }
 75         
 76     }
 77     
 78     public void mybackup2(View view)
 79     {
 80         try
 81         {
 82             XmlSerializer serializer = Xml.newSerializer();
 83             File file = new File(Environment.getExternalStorageDirectory(),"myback2.xml");
 84             FileOutputStream os = new FileOutputStream(file);
 85             serializer.setOutput(os,"utf-8");
 86             serializer.startDocument("utf-8", true);
 87             serializer.startTag(null, "smss");
 88             
 89             for(SmsInfo info : smsInfos)
 90             {
 91                 serializer.startTag(null, "sms");
 92                 
 93                 serializer.startTag(null, "body");
 94                 serializer.text(info.getBody());
 95                 serializer.endTag(null, "body");
 96                 
 97                 serializer.startTag(null, "address");
 98                 serializer.text(info.getAddress());
 99                 serializer.endTag(null, "address");
100                 
101                 serializer.startTag(null, "type");
102                 serializer.text(info.getType() + "");
103                 serializer.endTag(null, "type");
104                 
105                 serializer.startTag(null, "date");
106                 serializer.text(info.getDate() + "");
107                 serializer.endTag(null, "date");
108                 
109                 serializer.endTag(null, "sms");
110             }
111             
112             serializer.endTag(null, "smss");
113             serializer.endDocument();
114             os.close();
115             Toast.makeText(this, "生成成功!", 0).show();
116         }catch(Exception e){
117             e.printStackTrace();
118             Toast.makeText(this, "生成失败!", 0).show();
119         }
120     }
121     @Override
122     public boolean onCreateOptionsMenu(Menu menu) {
123         // Inflate the menu; this adds items to the action bar if it is present.
124         getMenuInflater().inflate(R.menu.main, menu);
125         return true;
126     }
127 
128 }

 

转载于:https://www.cnblogs.com/zhongyinghe/p/5386542.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值