Android 可打包 class 具有对象类型属性
Android parcelable class with object typed properties
所以我目前正在尝试创建一个能够显示日历预订的 android 应用程序。
当我检索预订时,我得到以下 JSON:
{
"id": "dqflkgjkzmvjdcdfdzs56f4sd7",
"subject": "Test Meeting",
"start": {
"dateTime": "2021-08-02T14:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2021-08-02T14:30:00.0000000",
"timeZone": "UTC"
},
"organiser": "Kermit"
}
如何将其转换为 Parcelable class?
我开始像这样制作 class:
@Parcelize
class Booking(
val id: String,
val subject: String,
val start: String, /* This */
val end: String, /* and this has to change to an object*/
val organiser: String,
): Parcelable
现在我仍然需要找到开始和结束对象的类型,因为它们本身具有属性并且将其定义为单独的对象似乎没有必要,但这可能是因为我习惯了 Angular 语法。
关于如何将 JSON 数据转换为 Parcelable class 的任何想法?
通常情况下,你应该用下面的方法,这样会更好。
defining it as a separate object seems unnecessary
至少需要一个对象来处理开始和结束。
@Parcelize
data class Booking(
@SerializedName("id")
var id: String?,
@SerializedName("subject")
var subject: String?,
@SerializedName("start")
var start: TimeData?,
@SerializedName("end")
var end: TimeData?,
@SerializedName("organiser")
var organiser: String?
): Parcelable {
@Parcelize
data class TimeData(
@SerializedName("dateTime")
var dateTime: String?,
@SerializedName("timeZone")
var timeZone: String?
): Parcelable
}
在你的 android 工作室中使用 JSON to Kotlin Class 插件,它将有助于从 JSON
生成 data class
所以我目前正在尝试创建一个能够显示日历预订的 android 应用程序。 当我检索预订时,我得到以下 JSON:
{
"id": "dqflkgjkzmvjdcdfdzs56f4sd7",
"subject": "Test Meeting",
"start": {
"dateTime": "2021-08-02T14:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2021-08-02T14:30:00.0000000",
"timeZone": "UTC"
},
"organiser": "Kermit"
}
如何将其转换为 Parcelable class? 我开始像这样制作 class:
@Parcelize
class Booking(
val id: String,
val subject: String,
val start: String, /* This */
val end: String, /* and this has to change to an object*/
val organiser: String,
): Parcelable
现在我仍然需要找到开始和结束对象的类型,因为它们本身具有属性并且将其定义为单独的对象似乎没有必要,但这可能是因为我习惯了 Angular 语法。
关于如何将 JSON 数据转换为 Parcelable class 的任何想法?
通常情况下,你应该用下面的方法,这样会更好。
defining it as a separate object seems unnecessary
至少需要一个对象来处理开始和结束。
@Parcelize
data class Booking(
@SerializedName("id")
var id: String?,
@SerializedName("subject")
var subject: String?,
@SerializedName("start")
var start: TimeData?,
@SerializedName("end")
var end: TimeData?,
@SerializedName("organiser")
var organiser: String?
): Parcelable {
@Parcelize
data class TimeData(
@SerializedName("dateTime")
var dateTime: String?,
@SerializedName("timeZone")
var timeZone: String?
): Parcelable
}
在你的 android 工作室中使用 JSON to Kotlin Class 插件,它将有助于从 JSON
data class