android Parcelable進程間通信
不同進程之間交換數據通過Parcelable包裝交換數據.可以通過Intent在不同的進程之間傳送數據.
1,Parcelable包裝交換數據實現
a,新建一個實現Parcelable接口的Wrap類.示例
public class Wrap implements Parcelable {
public T Data;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeXX(Data);
}
public Wrap(T value) {
Data =value;
}
private Wrap(Parcel in){
Data=in.readXX();
}
public static final Parcelable.Creator<Wrap> CREATOR = new Parcelable.Creator<Wrap>(){
public Wrap createFromParcel(Parcel source) {
return new Wrap(source);
}
public Wrap[] newArray(int size) {
return new Wrap[size];
}
};
}//end class
注意:被包裝的數據必須可序列化
b,數據交互
Bundle.putParcelable(String key,Parcel value) 傳入數據
Bundle.getParcelable(String key) 返回傳入的Parcelable實例,再通過該實例獲取數據
1,Parcelable包裝交換數據實現
a,新建一個實現Parcelable接口的Wrap類.示例
public class Wrap implements Parcelable {
public T Data;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeXX(Data);
}
public Wrap(T value) {
Data =value;
}
private Wrap(Parcel in){
Data=in.readXX();
}
public static final Parcelable.Creator<Wrap> CREATOR = new Parcelable.Creator<Wrap>(){
public Wrap createFromParcel(Parcel source) {
return new Wrap(source);
}
public Wrap[] newArray(int size) {
return new Wrap[size];
}
};
}//end class
注意:被包裝的數據必須可序列化
b,數據交互
Bundle.putParcelable(String key,Parcel value) 傳入數據
Bundle.getParcelable(String key) 返回傳入的Parcelable實例,再通過該實例獲取數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.