Хорошо, так что я немного зациклен на том, как мне следует go об этом, когда дело доходит до использования Room. Я все еще относительно новичок, когда дело доходит до sql, а затем и за номер. У меня есть несколько разных ответов, с которыми мне придется иметь дело, но я не уверен, как их хранить и ссылаться на них. Ниже приведены примеры ответов:
[
{
"watchers": 21,
"movie": {
"title": "TRON: Legacy",
"year": 2010,
"ids": {
"trakt": 1,
"slug": "tron-legacy-2010",
"imdb": "tt1104001",
"tmdb": 20526
}
}
},
{
"watchers": 17,
"movie": {
"title": "The Dark Knight",
"year": 2008,
"ids": {
"trakt": 4,
"slug": "the-dark-knight-2008",
"imdb": "tt0468569",
"tmdb": 155
}
}
}
]
И
[
{
"collected_at": "2014-09-01T09:10:11.000Z",
"updated_at": "2014-09-01T09:10:11.000Z",
"movie": {
"title": "TRON: Legacy",
"year": 2010,
"ids": {
"trakt": 1,
"slug": "tron-legacy-2010",
"imdb": "tt1104001",
"tmdb": 20526
}
},
"metadata": {
"media_type": "bluray",
"resolution": "hd_1080p",
"hdr": "dolby_vision",
"audio": "dts",
"audio_channels": "6.1",
"3d": false
}
},
{
"collected_at": "2014-09-01T09:10:11.000Z",
"updated_at": "2014-09-01T09:10:11.000Z",
"movie": {
"title": "The Dark Knight",
"year": 2008,
"ids": {
"trakt": 6,
"slug": "the-dark-knight-2008",
"imdb": "tt0468569",
"tmdb": 155
}
},
"metadata": {
"media_type": "bluray",
"resolution": "hd_1080p",
"hdr": "dolby_vision",
"audio": "dts",
"audio_channels": "6.1",
"3d": false
}
}
]
Это всего лишь 2 примера ответов, с которыми я должен справиться. Вот класс данных «Mov ie» и его родительский «Trending»
@JsonClass(generateAdapter = true)
data class Movie(
@Json(name = "ids")
val ids: Ids?,
@Json(name = "ratings")
val ratings: Ratings?,
@Json(name = "stats")
val stats: Stats?,
@Json(name = "summary")
val summary: Summary?,
@Json(name = "title")
val title: String?,
@Json(name = "year")
val year: Int?
)
@JsonClass(generateAdapter = true)
data class Trending(
@Json(name = "movie")
val movie: Movie?,
@Json(name = "show")
val show: Show?,
@Json(name = "watchers")
val watchers: Int?
)
Насколько я понимаю, класс данных Trending будет иметь отношение «один ко многим» с фильмами, в зависимости от того, что в списке. Я предполагаю, что мой вопрос вместо того, чтобы использовать MoshiConverterFactory для выполнения всего анализа, я думаю, мне придется вручную обработать ответ.