本文介绍: 如果在使用过程中,通过注解发生了数据异常,需要检查对象是否序列化了,如果通过构造器的,查看方法体是否参与了,如果是很简单的数据建议构造器,如果是复杂的数据,建议抛弃构造器如果采用了注解,就不能使用类中定义类这种用法,否则对象获取为null。那用什么?接下来我会介绍抛弃注解,直接使用手写。
一、介绍
在Android开发过程中,序列化使用概率一直很高。在页面之间传递的对象,需要要使用序列化,常见的序列化:Parcelable、Serialization。
由于Parcelable在传递压缩比高,效率高,一直被Google官方推荐。在Java语言中,Parcelable可以通过IDE自动生成,但是在kotlin语言下,IDE无法完成自动生成,需要我们手动去填写,而且语言和Java还是有区别。
二、序列化Parcelable
1、插件接入
kotlin在Parcelable的时候需要额外的扩展插件。
新增插件:apply plugin: ‘kotlin–android-extensions‘
引入插件后,如果你的项目已支持kotlin语言,那就可以正常开发,如果不支持,需要再添加kotlin插件。
三、实战
1、构造器序列化
如果在方法体中新增字段,是否会序列化成功?
新增字段:
入参:
接收参数:
分析:
2、函数体序列化
新建Bean类:
小试牛刀:
那么函数体支持构造器混合使用嘛?
如果想构造器参数也参与序列化怎么办?
三、复杂参数序列化
反序列化异常分析:
正常kotlin序列化
kotlin注解异常情况:
四、复杂数据使用注解序列化方案
简单数据
复杂数据
注意:有可能简单数据会报错
五、总结
1、获取不到数据
2、类中定义子类序列化失败
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。