Parcelable物件序列化

2021-09-02 09:59:14 字數 1466 閱讀 2187

parcelable,資料需要序列化推薦使用

1  這個介面供實體序列化使用,

2  在intent中  傳遞資料和程序間通訊都  可以使用此序列化

3  資料不能序列化到本地,速度比原生的serializable快

intent之間資料傳遞例子:

1 實體例子 (必須實現序列化和反序列化方法,並且兩個方法中屬性順序要一樣)

/**

* parcelable

* 1 這個介面供實體序列化使用,

* 2 在intent中 傳遞資料和程序間通訊都 可以使用此序列化

* 3 資料不能序列化到本地,速度比原生的serializable快

* * @author root

* */

public class person implements parcelable

/*** 注意:

* 1 實現parcelable.creator介面,否則在獲取person資料的時候,會報錯

* 2 實現parcelable.creator介面物件名必須為creator,不如同樣會報錯

* 3 在讀取parcel容器裡的資料,必須按writetoparcel中順序讀取, 不然會出現獲取資料出錯

* 4 名稱:反序列化物件

*/public static final parcelable.creatorcreator = new parcelable.creator()

public person newarray(int size)

};/**

* 將物件打包(序列化)到提供的parcel中

* 順序要與creater中一樣

* 名稱:序列化物件

*/@override

public void writetoparcel(parcel dest, int flags)

public integer getid()

public void setid(integer id)

public string getname()

public void setname(string name)

}

2 intent之間傳遞 

第乙個activity中

person p = new person();

p.setid(1);

p.setname("xiaoming");

//傳遞序列化後的物件

intent.putextra("person", p);

第二個activity中取出資料

person person = intent.getparcelableextra("person");

system.out.println(person.getid()+" = "+person.getname()

);

物件序列化 反序列化

必須新增引用 using system.io using system.runtime.serialization using system.runtime.serialization.formatters.binary 方法 region 物件序列化 物件序列化 任意物件 字串 public st...

物件 序列化 反序列化

public class eventmessage 資訊提示類 型別1 操作日誌2 安全日誌 標題 內容 icon型別 url 執行script指令碼字串 需加 public static void messagebox int m type,string m title,string m body...

物件序列化

using system using system.io using system.diagnostics using system.reflection using system.runtime.serialization using system.runtime.serialization.fo...