创建一个javaBean类来保存短信内容,使用xml来进行序列化
package com.itheima.xmlseriasizale;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlSerializer;
import android.app.Activity;
import android.os.Bundle;
import android.util.Xml;
import android.view.View;
public class MainActivity extends Activity {
//创建一个集合
ArrayList<SMS> array = new ArrayList<SMS>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//添加集合元素
for(int x=0;x<30;x++){
SMS sms = new SMS();
sms.from="10086"+x;
sms.content="hello"+x;
sms.time="2016年9月"+x;
array.add(sms);
}
}
public void storeSms(View v){
//创建序列化器
XmlSerializer serializer = Xml.newSerializer();
try {
serializer.setOutput(openFileOutput("xmlList.xml",MODE_PRIVATE), "utf-8");
serializer.startDocument("utf-8", true);
serializer.startTag(null, "SMSlist");
for(SMS sms :array){
serializer.startTag(null,"SMS");
serializer.startTag(null, "from");
serializer.text(sms.from);
serializer.endTag(null, "from");
serializer.startTag(null, "content");
serializer.text(sms.content);
serializer.endTag(null, "content");
serializer.startTag(null, "time");
serializer.text(sms.time);
serializer.endTag(null, "time");
serializer.endTag(null,"SMS");
}
serializer.endTag(null, "SMSlist");
serializer.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void jiexi(View v) throws Exception{
//创建一个集合
ArrayList<SMS> list = null;
//创建一个对象
SMS sms = null;
//获取解释器
XmlPullParser newPullParser = Xml.newPullParser();
//设置读取路径
try {
newPullParser.setInput(openFileInput("xmlList.xml"),"utf-8");
//获取事件
int eventType = newPullParser.getEventType();
while(eventType!=XmlPullParser.END_DOCUMENT){
switch (eventType) {
case XmlPullParser.START_TAG:
if("SMSlist".equals(newPullParser.getName())){
//创建集合
list= new ArrayList<SMS>();
}else if("SMS".equals(newPullParser.getName())){
//创建一个对象
sms = new SMS();
}else if("from".equals(newPullParser.getName())){
//创建一个对象
sms.from=newPullParser.nextText();
}else if("content".equals(newPullParser.getName())){
//创建一个对象
sms.content=newPullParser.nextText();
}else if("time".equals(newPullParser.getName())){
//创建一个对象
sms.time=newPullParser.nextText();
}
break;
case XmlPullParser.END_TAG:
if("SMS".equals(newPullParser.getName())){
//创建一个对象
list.add(sms);
}
break;
}
eventType = newPullParser.next();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(SMS smss:list){
System.out.println(smss);
}
}
}
package com.itheima.xmlseriasizale;
public class SMS {
public String from;
public String content;
public String time;
@Override
public String toString() {
return "SMS [from=" + from + ", content=" + content + ", time=" + time
+ "]";
}
}
559

被折叠的 条评论
为什么被折叠?



