我目前正在Java项目中使用优秀的AutoParcel,这有助于Parcelable类的创建。
现在,我考虑在下一个项目中使用的Kotlin有了数据类的概念,可以自动生成equals、hashCode和toString方法。
有没有一种便捷的方法可以让Kotlin数据类以便捷的方式打包(不需要手动实现方法)?
Kotlin 1.1.4 发布
Android扩展插件现在包括一个自动的Parcelable实现生成器。在主构造函数中声明序列化属性并添加@Parcelze注释,将自动创建WriteToParcel()/createFromParcel()方法:
@Parcelize
class User(val firstName: String, val lastName: String) : Parcelable
因此,您需要启用他们将其添加到模块的build.gradle:
apply plugin: 'org.jetbrains.kotlin.android.extensions'
android {
androidExtensions {
experimental = true
}
}
你可以试试这个插件:
Android-包裹能够-英特尔lij-插件-kotli n
它可以帮助您为kotlin的数据类生成Android Parcelable样板代码。它最终看起来像这样:
data class Model(var test1: Int, var test2: Int): Parcelable {
constructor(source: Parcel): this(source.readInt(), source.readInt())
override fun describeContents(): Int {
return 0
}
override fun writeToParcel(dest: Parcel?, flags: Int) {
dest?.writeInt(this.test1)
dest?.writeInt(this.test2)
}
companion object {
@JvmField final val CREATOR: Parcelable.Creator<Model> = object : Parcelable.Creator<Model> {
override fun createFromParcel(source: Parcel): Model{
return Model(source)
}
override fun newArray(size: Int): Array<Model?> {
return arrayOfNulls(size)
}
}
}
}
只需单击 kotlin 数据类的数据关键字,然后按 alt Enter,选择第一个选项,上面写着“添加可解析实现”