在Android开发的过程中,针对对象的序列化推荐使用Parcelable,而不是Seralizable,因为Parceable的效率比较高。
这样,针对Android中大量的对象,手写实现Parcelable的代价,就比较高了。楼主github上发现一个针对Intelij和AndroidStudio的Parcelable的插件,只需集成,然后直接快捷键,实现Parcelable的接口,这样不是很爽么?。。。
1. Parcelable插件地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
2.下载地址: https://github.com/mcharmas/android-parcelable-intellij-plugin/releases/tag/0.6.1
3. 按照文档说明,在IDE的Plugins中导入对应插件的Jar包,重启,就集成好了。
4. 快捷键的问题,楼主在集成后,发现对应文档所说的 ALT + Insert 不起作用,这样就需要重新设定一下了。进入IDE中keymaps中,搜索Parcelable,设定快捷键,楼主设定Ctrl+cmd+P . 在对应的Model类中,敲一下快捷键,一切Ok。
PS: 楼主发现这个插件,针对List的数据,支持的不是很完美,有两个问题:
1)List<String>类型的数据: 在使用Parcelable读取数据的时候,可以直接调用Parcel的readStringList(Params) 来进行读取,其中的Params,是指你需要指定一个新的,初始化之后List<String> 的数据,
2)List<Object>类型的数据:Object是指你自定义的数据,你可以先对Object实现Parcelable接口,这样它会针对这种生成readTypedList的方法,但你在使用这个方法时,需要对List数据进行初始化,如下所示:
if(nodes == null) nodes = new ArrayList<PoiVO>(); in.readTypedList(nodes, PoiVO.CREATOR);
3) List<List<Object>>类型的数据: 使用下面的代码就可以了:
this.route = new ArrayList<List<PoiVO>>(); in.readList(this.route, null);