XML序列化
序列化是将对象状态转换为可保持或传输的过程。在序列化对象时,需要使用XmlSerialize序列化器(XmlSerialize类),它可以将I/O流中传输的对象变得像基本类型数据一样,实现传递功能。
- 创建程序,编写布局代码(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="Serializer"
android:text="系列化XML文件"/>
<Button
android:onClick="tt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="解析界面"/>
</LinearLayout>
- 创建person.xml文件对应的实体类PersonInfo
该类中封装三个属性name、age、score
public class PersonInfo {
private String name;
private int age;
private int score;
//有参构造方法
public PersonInfo(String name,int age,int score){
super();
this.name=name;
this.age=age;
this.score=score;
}
//无参构造方法
public PersonInfo(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
- 编写界面交互代码(MainActivity.java)
MainActivity中的代码主要是自定义一些数据,并将这些数据通过XmlSerialize序列化器保存到SD卡
public class MainActivity extends AppCompatActivity {
//保存数据的集合
private List<PersonInfo> userdata;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userdata=new