Android对象序列化(Activity之间传递对象,Parcelable小例子)

  1. 注册Parcelable实体类
  2. package com.zeph.android.Parcelable;

    import android.os.Parcel;
    import android.os.Parcelable;

    public class BenParcelable implements Parcelable {

    public String name;

    public int age;

    public String profession;

    public BenParcelable(String name, int age, String profession) {
    this.name = name;
    this.age = age;
    this.profession = profession;
    }

    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 String getprofession() {
    return profession;
    }

    public void setprofession(String profession) {
    this.profession = profession;
    }

    @Override
    public int describeContents() {
    return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int flag) {
    parcel.writeString(name);
    parcel.writeInt(age);
    parcel.writeString(profession);
    }

    public static final Creator<BenParcelable> CREATOR = new Creator<BenParcelable>() {
    public BenParcelable createFromParcel(Parcel in) {
    return new BenParcelable(in);
    }

    public BenParcelable[] newArray(int size) {
    return new BenParcelable[size];
    }
    };

    private BenParcelable(Parcel in) {
    name = in.readString();
    age = in.readInt();
    profession = in.readString();
    }
    }

  3. BenParcelable benParcelable = new BenParcelable("BenZeph", 23,
    "Java/Android Engineer");

    Intent intent = new Intent();

    intent.setClass(getApplicationContext(),
    GetParcelableActivity.class);

    Bundle bundle = new Bundle();

    bundle.putParcelable("Ben", benParcelable);

    intent.putExtras(bundle);

    startActivity(intent);

  4. package com.zeph.android.Parcelable;

    import android.app.Activity;
    import android.os.Bundle;

    public class GetParcelableActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    BenParcelable parcelable = getIntent().getParcelableExtra("Ben");

    System.out.println(parcelable.getName());

    System.out.println(parcelable.getAge());

    System.out.println(parcelable.getprofession());

    }

    }

原文地址:https://www.cnblogs.com/flord/p/5417942.html