android序列化好处,浅谈Android序列化
在Activity中使用方法:
1)传递单一对象,具体代码如下:
// parcelable对象传递方法
public void setParcelableMethod() {
Person person = new Person();
person.setmName("王海康");
person.setmSex("男");
person.setmAge(45);
Intent intent = new Intent(this, PersonTest.class);
Bundle bundle = new Bundle();
bundle.putParcelable(PAR_KEY, person);
intent.putExtras(bundle);
startActivity(intent);
}
// parcelable对象获取方法
public Person getParcelableMethod(){
Person mPerson = (Person)getIntent().getParcelableExtra(PAR_KEY);
return mPerson;
}
2)传递对象列表,具体代码如下:
需要注意的是,若ListpersonList = new ArrayList();则会报错,因为下面调用的putParcelableArrayList()函数其中一个参数的类型为ArrayList。
// parcelable对象List传递方法
public void setParcelableListMethod() {
ArrayList personList = new ArrayList();
Person person1 = new Person();
person1.setmName("王海康");
person1.setmSex("男");
person1.setmAge(45);
personList.add(person1);
Person person2 = new Person();
person2.setmName("薛岳");
person2.setmSex("男");
person2.setmAge(15);
personList.add(person2);
Intent intent = new Intent(this, PersonTest.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(PAR_LIST_KEY, personList);
intent.putExtras(bundle);
startActivity(intent);
}
// parcelable对象获取方法
public ArrayList getParcelableMethod(){
ArrayList mPersonList = getIntent().getParcelableExtra(PAR_LIST_KEY);
return mPersonList;
}
3)最后介绍一个投机取巧的方法:
不用继承Parcelable或Serializable方法即可实现IPC中对象的传递。这种方法的实现原理不是很明白,只知道代码中new ArrayList()返回的其实是一个EmptyArray.OBJECT数组,不过我感觉应该还是系统调用Serializable进行序列化的,如果各位读者有好的想法,欢迎告知。
具体代码如下:
//对象List传递
public void setObjectMethod(){
......(省略)
ArrayList list = new ArrayList();
//ObjectList为某一对象列表
list.add(ObjectList);
bundle.putParcelableArrayList(PAR_LIST_KEY, list);
intent.putExtras(bundle);
startActivity(intent);
}
//获取对象List
ArrayList list = bundle.getParcelableArrayList("list");
//强转成你自己定义的list,这样ObjectList就是你传过来的那个list了。
ObjectList= (List) list.get(0);
android序列化好处,浅谈Android序列化相关推荐
- android fps 垂直同步,浅谈Android流畅度
原标题:浅谈Android流畅度 哈哈 讲个故事 白 1 流畅度 关于流畅度谷歌官方给出的解释为:running at a consistent 60 frames per second, witho ...
- android 存储空间监控,浅谈 Android 内存监控(中)
前言 在上篇 浅谈 Android 内存监控(上) 中,我们聊了 LeakCanary,微信的 Matirx 和美团的 Probe,它们各自有不同的应用场景,例如,在开发测试环境,我们会偏向用 Lea ...
- 高通android逆向分析,浅谈Android高通(Qualcomm)和联发科(MTK)平台
一款CPU好不好是要从多个方面考虑的,并不是说简简单单看一个主频.几个核心数就完了,更重要的是它的综合实力到底有多强,这里面当然也会牵扯到价格问题,性能相似当然是便宜的获胜,这是毋庸置疑的. 事实上, ...
- Android 改造无线电,浅谈Android平台的物联网网关方案设计
提出了一种基于Android平台的物联网网关方案.该网关通过蓝牙串口通信实现物联网中WSN (无线传感器网络)中心节点和Android网关的数据传输,在Android平台上实现WSN节点信息管理并通过 ...
- 浅谈Android Architecture Components
浅谈Android Architecture Components 浅谈Android Architecture Components 简介 Android Architecture Componen ...
- 浅谈Android保护技术__代码混淆
浅谈Android保护技术__代码混淆 浅谈Android保护技术__代码混淆 代码混淆 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读 ...
- 浅谈Android SDK开发
目录 浅谈Android SDK开发 SDK开发的原则 SDK设计 功能与职责边界设计 接口设计 兼容性设计 发布输出设计 SDK文档设计 SDK项目架构 组件化.模块化 统一资源管理 第三方依赖管理 ...
- 浅谈Android文件管理器的几种实现方式(原理篇)--对我有帮助
转自 https://blog.csdn.net/weixin_33698823/article/details/87269955 浅谈Android文件管理器的几种实现方式 为了完成毕业设计,我花费 ...
- 浅谈Android引用计数(2)
在浅谈Android引用计数(1)中讲了LightRefBase实现对象计数管理的原理,这篇文章将要分析重量级的引用基类:RefBase的实现和它的作用. 下面是RefBase和相关类的类图: 图中可 ...
最新文章
- 心音数据库_小V云端数据库 | 2020.9.14—2020.9.18
- 深入Jetty源码之HTTP协议
- 编译执行和解释执行的区别
- nginx 中location中root和alias的区别
- cocos creator 多张图片 椭圆运动_信阳液位测量图片
- 生于凛冬的私募资产配置基金管理人能否秽土转生?
- php ioncube encoder,Ioncube PHP Encoder
- 物联网是什么,华为云学院带你走进物联网的前世今生
- java 三边求面积_已知三角形的三边长如何求面积?
- 计算多个不同鞋码对应的脚长——C语言
- Python实现b''开头二进制字符串转换为str的utf-8
- python哈姆雷特字数统计_python 哈姆雷特 字数统计 词云
- 决策树分类原理(一)26
- 【第一章】浅谈游戏作弊类型与核心原理
- 流星汇聚:跨境电商几大主流电商平台势均力敌,卖家如何选择?
- win7 下使用超级终端
- 百度2015春季实习生招聘附加题
- 中国医科大学计算机本科在线作业,16春中国医科大学《计算机应用基础(本科)》在线作业答案...
- mac php.ini 配置,Mac上PHP的配置 | Soo Smart!
- 利用EXCEL批量提取超链接