public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Parcel parcel = Parcel.obtain();
Pogo pogo = new Pogo("text");
//先写入共享内存
parcel.writeParcelable(pogo, 0);
parcel.writeParcelable(new Pogo("text2"), 0);
Parcel读写共用一个位置计数,这里一定要重置一下当前的位置
parcel.setDataPosition(0);
Pogo pogo1 = parcel.readParcelable(Pogo.class.getClassLoader());
Log.i(TAG, "onCreate: " + pogo1.getDes());
}
}
public class Pogo implements Parcelable {
private String des;
public Pogo(String des) {
this.des = des;
}
private Pogo(Parcel in) {
des = in.readString();
}
public static final Creator<Pogo> CREATOR = new Creator<Pogo>() {
@Override
public Pogo createFromParcel(Parcel source) {
return new Pogo(source);
}
@Override
public Pogo[] newArray(int size) {
return new Pogo[size];
}
};
public String getDes() {
return des;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(des);
}
}
Parcel的简单例子
最新推荐文章于 2023-06-19 11:50:28 发布