Android --Serializable 实例

来源:互联网 发布:cherrykoko淘宝旗舰店 编辑:程序博客网 时间:2024/05/16 23:59

这篇是一个Serializable的一个例子。Android 主要用 Serializable 和 Parcelable 来实现对象的序列化

需要说明的是如果Person 是内部类,需要加上Static 属性;不然会提示 Person没有序列化。

 

同时因为 Serializable 接口使得类不容易维护。可以参看 Effect java 相关章节。 

 

package com.serializabletest;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.io.StreamCorruptedException;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.View;public class MainActivity extends Activity {public static final String TAG = "MainActivity";/** 序列化测试 * @see android.app.Activity#onCreate(android.os.Bundle) */private final String objName = "/mnt/sdcard/object.txt";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setTitle("通过实现 Serializable 接口来实现对象序列化");setContentView(R.layout.activity_main);}public void writePerson(View view) throws FileNotFoundException,IOException {Person person = new Person(1, "张三", 20);ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(objName));oos.writeObject(person);oos.flush();oos.close();person.printPerson();}public void readPerson(View view) throws StreamCorruptedException,FileNotFoundException, IOException, ClassNotFoundException {ObjectInputStream ois = new ObjectInputStream(new FileInputStream(objName));Person person = (Person) ois.readObject();ois.close();person.printPerson();}static class Person implements Serializable {private static final long serialVersionUID = 1L;int ID;String Name;int age;public Person(int ID, String Name, int age) {this.ID = ID;this.Name = Name;this.age = age;}public void printPerson() {Log.d(TAG, "ID:" + ID);Log.d(TAG, "Name:" + Name);Log.d(TAG, "age:" + age);}}}

 

 

这篇文章很好:

http://blog.csdn.net/js931178805/article/details/8268144

0 0
原创粉丝点击