Android对象序列化(Activity之间传递对象,Parcelable小例子)
2013-07-31 18:54
513 查看
Android中为了能够在Activity之间传递值,需要只用Intent中的put函数。
其中bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。
下面是一个简单的在Activity之间传递对象的例子。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/09/4cd353c6c9d9a154b673556a966db5b6.gif)
Parcelable类。最主要的类,也就是我们要传送的对象的类,需要实现Parcelable接口。
ParcelableActivity类,传递对象的Activity类。
GetParcelableActivity类,接收序列化对象的Activity类。
其中bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。
下面是一个简单的在Activity之间传递对象的例子。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/09/4cd353c6c9d9a154b673556a966db5b6.gif)
Parcelable类。最主要的类,也就是我们要传送的对象的类,需要实现Parcelable接口。
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(); } }
ParcelableActivity类,传递对象的Activity类。
package com.zeph.android.Parcelable; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ParcelableActivity extends Activity { private Button myButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myButton = (Button) findViewById(R.id.myButton); myButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { 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); } }); } }
GetParcelableActivity类,接收序列化对象的Activity类。
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()); } }
相关文章推荐
- Android对象序列化(Activity之间传递对象,Parcelable小例子)
- Android:通过Intent在两个Activity之间传递对象(Parcelable)
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android使用Intent在Activity之间传递对象[Serializable或者Parcelable]
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- android: activity之间传递复杂数据类型[使用Serializable序列化或者Parcelable序列化]
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- android activity之间传递对象(Serializable 和 Parcelable)
- android activity之间传递对象(Serializable 和 Parcelable)
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable] .
- Android中Intent在Activity之间传递对象[Serializable或Parcelable]
- Android中使用Intent在Activity之间传递对象(使用Serializable或者Parcelable)的方法
- Android 通过(Parcelable)序列化对象实现Activity间传递对象
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android学习札记11:利用Parcelable在Activity之间传递对象参数的官方解释和示例
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- android activity之间传递对象(Serializable 和 Parcelable)