Kotlin 序列化Parcelable/Serializable
【摘要】
开发中,序列化是常见操作,在java中,我们一般会用到Serializable或者Parcelable,优缺点就不赘述了,今天来看看kotlin中的序列化。
Parcelable
1.添加配置
ap...
开发中,序列化是常见操作,在java中,我们一般会用到Serializable
或者Parcelable
,优缺点就不赘述了,今天来看看kotlin
中的序列化。
Parcelable
1.添加配置
app目录下的build.gradle
文件
android {
...
androidExtensions {
experimental = true
}
}
- 1
- 2
- 3
- 4
- 5
- 6
2.添加注解并实现Parcelable
@Parcelize
data class User(val name: String) : Parcelable
- 1
- 2
以上就完成了序列化。就这么简单。
3.泛型序列化
我们在实际开发中经常会对bean对象做抽取,这里就涉及到了泛型序列化。
@Parcelize
data class BaseBean<T : Parcelable>(
val errorMsg: String,
val errorCode: Int,
val data: T
) : Parcelable
- 1
- 2
- 3
- 4
- 5
- 6
这里需要注意的是泛型也要实现Parcelable
,即<T : Parcelable>
。
Parcelable源码
public interface Parcelable {
int CONTENTS_FILE_DESCRIPTOR = 1;
int PARCELABLE_WRITE_RETURN_VALUE = 1;
int describeContents();
void writeToParcel(Parcel var1, int var2);
public interface Creator<T> {
T createFromParcel(Parcel var1);
T[] newArray(int var1);
}
public interface ClassLoaderCreator<T> extends Parcelable.Creator<T> {
T createFromParcel(Parcel var1, ClassLoader var2);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
可以看到还是有writeToParcel
方法和Creator
等,其实也没少,只是不再需要我们去写了。
Serializable
Serializable的方式比较简单,直接实现Serializable就可以了
data class User(
val id: Int,
val name: String
) : Serializable
- 1
- 2
- 3
- 4
文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/yechaoa/article/details/103894538
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)