【发布时间】:2019-09-24 21:21:29
【问题描述】:
在我的 Android 应用程序中,我想将包含下面描述的 Place 对象的 Bundle 添加到我的 Intent 中。由于可序列化很慢且不推荐,因此我更喜欢 Parcelable。
尽管我使用 Kotlin 1.3.31,但我在打包一些数据类时遇到了问题。示例:
import android.os.Parcelable
import kotlinx.android.parcel.Parcelize
@Parcelize
data class Place(val street: String, val postal: String, val city: String) : Parcelable
Android Studio 抱怨:
“Place”类不是抽象的,也没有实现抽象成员 public abstract fun writeToParcel(p0: Parcel!, p1: Int): 单位定义 在 android.os.Parcelable
根据一些教程
就是这样!你不再需要编写任何 parcel 方法了!
https://android.jlelse.eu/yet-another-awesome-kotlin-feature-parcelize-5439718ba220
我不想使用
androidExtensions {
experimental = true
}
在生产中。
我在这里有什么选择?
【问题讨论】:
-
为什么不想使用“experimental = true”?这是它工作的必要条件!
-
大多数公司不允许在他们的应用程序中使用实验性功能。 JetBrains 必须将其从实验中移出,并且在没有的情况下工作
-
检查我更新的答案! :D
标签: android parcelable kotlin-android-extensions android-bundle kotlinx.serialization