Android_Parcelable

来源:互联网 发布:网络销售计划 编辑:程序博客网 时间:2024/06/07 04:51
本博文为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/39339033

public class MainActivity extends Activity {@Overrideprotected 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);}}}@Overrideprotected 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;}@Overridepublic int describeContents() {//return 0;}@Overridepublic 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>() {@Overridepublic Bean createFromParcel(Parcel source) {//按照顺序从source中解析出数据,相当于序列化int age = source.readInt();String name = source.readString();return new Bean(age, name);}@Overridepublic Bean[] newArray(int size) {return new Bean[size];}};@Overridepublic String toString() {return "Bean [age=" + age + ", name=" + name + "]";}}


0 0