public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
if (intent != null) {
Parcelable p = intent.getParcelableExtra("info");
if (p != null) {
System.out.println(p);
}
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public void start(View view) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.putExtra("info", new Bean(100, "baidu"));
startActivity(intent);
}
}import android.os.Parcel;
import android.os.Parcelable;
public class Bean implements Parcelable {
int age;
String name;
public Bean(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public int describeContents() {
//
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
//向dest容器中写入数据,int占4个字节,至于区分String应该有特殊的标志位,相当于反序列化
dest.writeInt(this.age);
dest.writeString(this.name);
}
public static final Parcelable.Creator<Bean> CREATOR = new Parcelable.Creator<Bean>() {
@Override
public Bean createFromParcel(Parcel source) {
//按照顺序从source中解析出数据,相当于序列化
int age = source.readInt();
String name = source.readString();
return new Bean(age, name);
}
@Override
public Bean[] newArray(int size) {
return new Bean[size];
}
};
@Override
public String toString() {
return "Bean [age=" + age + ", name=" + name + "]";
}
}原文地址:http://blog.csdn.net/zimo2013/article/details/39339033