Android实现Parcelable对象序列化的实例
2013-05-08 14:53
330 查看
bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。
下面是一个简单的在Activity之间传递对象的例子。
parcel实现参数的序列化,把类对象序列化为齐位的二进制流,提高传输的效率。
![](http://hi.csdn.net/attachment/201112/4/0_1323005594CHXI.gif)
Parcelable类。最主要的类,也就是我们要传送的对象的类,需要实现Parcelable接口。
ParcelableActivity类,传递对象的Activity类。
GetParcelableActivity类,接收序列化对象的Activity类。
下面是一个简单的在Activity之间传递对象的例子。
parcel实现参数的序列化,把类对象序列化为齐位的二进制流,提高传输的效率。
![](http://hi.csdn.net/attachment/201112/4/0_1323005594CHXI.gif)
Parcelable类。最主要的类,也就是我们要传送的对象的类,需要实现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类。
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类。
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实现Parcelable对象序列化的实例
- Android中使用Parcelable实现对象的序列化
- Android 实现Parcelable接口序列化对象
- android开发中对象的序列化-实现Parcelable接口.
- Android 通过(Parcelable)序列化对象实现Activity间传递对象
- 【android实战经验】实现Parcelable接口进行对象序列化
- Android中使用Serializable和Parcelable实现序列化详解(含实例)
- Android中Serializable和Parcelable序列化对象详解
- GSON实现Java对象的JSON序列化与反序列化的实例教程
- Android之Serializable和Parcelable实现序列化
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- Android-Parcelable理解与使用(对象序列化)
- android 序列化对象 Parcelable
- Android 序列化对象Parcelable 的使用
- android intent 传递对象需要序列化实现Parcelable接口
- Android实用开发技巧之二:用Serializable方式及Parcelable方式实现Intent传递对象功能
- Android-Intent传递对象序列化之Serializable与Parcelable
- Android-Parcelable理解与使用(对象序列化)
- Android中序列化的实现?使用Serializable还是Parcelable
- Android使用Serializable实现序列化传输对象