安卓应用开发实战:[19]写xml文件

2025-04-22 04:32:56

1、下面这个类可以用来存放短疙熳阊涓信信息,短信发送接收时间data, 短信类型type,短信内容body, 电晌蚌畚玉话号码address。smsinfo自定义类代码package com.example.smsinfo;public class SmsInfo {private long data;private int type;private String body;private String Address;public SmsInfo() {}public SmsInfo(long data, int type, String body, String address) { super(); this.data = data; this.type = type; this.body = body; Address = address;}public long getData() { return data;}public void setData(long data) { this.data = data;}public int getType() { return type;}public void setType(int type) { this.type = type;}public String getBody() { return body;}public void setBody(String body) { this.body = body;}public String getAddress() { return Address;}public void setAddress(String address) { Address = address;}}

安卓应用开发实战:[19]写xml文件

2、在onCreate()方法内模拟产生了10条短信,其中Random类可以获得随机数 private List<SmsInfo> smsInfos;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); smsInfos = new ArrayList<SmsInfo>(); Random random = new Random(); for(int i = 0;i<10;i++) { smsInfos.add(new SmsInfo(System.currentTimeMillis(), random.nextInt(2)+1, "短信内容", i+100+"")); }}

安卓应用开发实战:[19]写xml文件

3、下面这段程序可以为创建xml文件开辟缓冲器,也就是把短信内容写得运存中。StringBuilder sb = new StringBuilder(); sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); sb.append("<smss>"); for(SmsInfo oneIfo: smsInfos) { sb.append("<data>"); sb.append(oneIfo.getData()); sb.append("</data>"); sb.append("<type>"); sb.append(oneIfo.getType()); sb.append("</type>"); sb.append("<body>"); sb.append(oneIfo.getBody()); sb.append("</body>"); sb.append("<address>"); sb.append(oneIfo.getAddress()); sb.append("</address>"); } sb.append("</smss>");

安卓应用开发实战:[19]写xml文件

4、下面这段程序是往磁盘文件里写操作了,涉及到到IO操作处理异常。File file = new File(Environment.getExternalStorageDirectory()+"/backSmsInfo.xml"); FileOutputStream fos; try { fos = new FileOutputStream(file); try { fos.write(sb.toString().getBytes()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }

安卓应用开发实战:[19]写xml文件

5、如果使用使用安卓提供的序列化类XmlSerializer ,上面的操作就变得简单:下面这段代码就是写一个简单的xml文件XmlSerializer serializer = Xml.newSerializer(); File file = new File(Environment.getExternalStorageDirectory() + "/backSmsInfo2.xml"); FileOutputStream fos; try { fos = new FileOutputStream(file); serializer.setOutput(fos, "utf-8"); serializer.startDocument("utf-8", true); serializer.startTag(null, "smss"); for(SmsInfo ifo : smsInfos) { serializer.startTag(null, "sms"); serializer.attribute(null, "id" ,ifo.getId()+""); serializer.startTag(null, "data"); serializer.text(ifo.getBody()+""); serializer.endTag(null, "data"); serializer.endTag(null, "sms"); } serializer.endTag(null, "smss"); serializer.endDocument(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); };

安卓应用开发实战:[19]写xml文件
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢