Android实现Parcelable对象序列化的实例
来源:互联网 发布:手机led显示屏软件 编辑:程序博客网 时间:2024/05/22 14:46
bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。
下面是一个简单的在Activity之间传递对象的例子。
parcel实现参数的序列化,把类对象序列化为齐位的二进制流,提高传输的效率。
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 的使用
- android 序列化对象 Parcelable
- Android 对象序列化 Parcelable
- android intent 传递对象需要序列化实现Parcelable接口
- Android 中对象实现序列化之Parcelable接口
- 【android实战经验】实现Parcelable接口进行对象序列化
- android Parcelable实现序列化
- 关于android传递对象Parcelable序列化的问题
- Android 使用Parcelable序列化对象
- Android 使用Parcelable序列化对象
- Android 使用Parcelable序列化对象
- android Parcelable接口序列化对象
- Android 中的Parcelable序列化对象
- Android 使用Parcelable序列化对象
- php和html、mysql编码问题
- devicePolicyManager.lockNow() is not working
- DellXPS-L502x OsxMountainLion驱动
- FragmentManage和FragmentTransaction
- 回调函数简介,自己写一个简单的回调函数
- Android实现Parcelable对象序列化的实例
- php-activerecord学习笔记
- 别让我思考 读书笔记
- .net中比较两幅图片是否相同
- 在CListView中用SetScrollPos改变滚动条的位置后,窗口中显示的内容如何也跟着移动实现。
- centos下valgrind之callgrind使用
- JAVA中十六种主流数据库的JDBC连接字符串
- 如何使用libmicrohttpd库让其以chunked模式工作
- jquery特效文本框得到/失去焦点