Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
2015-06-09 13:44
891 查看
在Android开发过程中,经常要在Activity之间传递参数,使用Android系统提供的方法可以传递基本数据类型的变量,但有时候我们经常要传递一些复杂的数据类型或自定义的类,这种情况的参数无法直接传递,我们可以通过序列化实现。
1、使用Pacelable接口,重写Parcelable接口中的两个方法和静态变量CREATOR
自定义类MyClass、MyClassA、MyClassB
MyClassA:
MyClassA、MyClassB实现方法同上。
TestActivity.java:
ParcelableActivity.java:
2、使用Serializable接口,定义序列化ID
自定义类MyClass、MyClassA、MyClassB
MyClassA:
MyClassA、MyClassB实现方法同上。
TestActivity.java:
SerializableActivity.java:
相比之下,使用Parcelable接口更高效,但是需要实现部分方法,使用Serializable接口更方便,只需要定义一个序列化ID,但是效率比较低。
另外,Parcelable接口为Android特有的,Serializable接口是jre普遍所有的,兼容性更好一点。
至于使用哪种方法,并没有一定的成规可循,要根据实际情况而定。
1、使用Pacelable接口,重写Parcelable接口中的两个方法和静态变量CREATOR
自定义类MyClass、MyClassA、MyClassB
MyClassA:
TestActivity.java:
自定义类MyClass、MyClassA、MyClassB
MyClassA:
TestActivity.java:
另外,Parcelable接口为Android特有的,Serializable接口是jre普遍所有的,兼容性更好一点。
至于使用哪种方法,并没有一定的成规可循,要根据实际情况而定。
相关文章推荐
- golang服务器+android 生成相同md5码
- 关于ListView的getView()方法调用多次问题
- Android 修改debug证书出现:Keystore was tampered with, or password was incorrect 问题解决
- Android HAL(硬件抽象层)介绍以及调用
- Android自定义View基础(1)
- Android4.0反编译笔记
- Android Studio 相关-快捷键、常见问题
- Android 省市县 三级联动(android-wheel的使用)
- Android 5.0 如何正确启用isLoggable(二)__原理分析
- Android SDK Manager需要下载类目
- Android OOM 问题的总结
- Android图片内存优化的心得
- android studio 更新 Gradle错误解决方法
- Android优化系列——代码优化
- Android之Activity的四种启动模式
- AndroidManifest.xml——activity(二)
- Android锁定屏幕或关闭状态-screen,高速按两次音量向下键来实现拍摄功能(1.1Framework在实现的形式层广播)
- android屏幕适配建议
- android webView不能加载本地html文件问题
- Android 控制台异常:ScrollView can host only one direct child