Как легко получить доступ к данным другим классам в Kotlin + Room (MVVM)?Android

Форум для тех, кто программирует под Android
Ответить
Гость
 Как легко получить доступ к данным другим классам в Kotlin + Room (MVVM)?

Сообщение Гость »

Я работаю с Kotlin + Jetpack Compose. Я также использую комнату, рукоять, MVVM, Uistates и т. Д. >. < /p>
Отношения между ними: < /p>
  • Игра 1: n раунд < /li>
    Раунд 1: n turn
Когда я работаю в TurnViewModel Например, мне нужно получить некоторую информацию из игры Entity , иногда мне даже нужно обновить его. Как это наиболее эффективно сделать? Я привык работать с Odoo Framework, я новичок, и я не знаю, как это сделать, даже если это лучший способ работать здесь. < /P>
В настоящее время моя очередь сущность выглядит следующим образом:

Код: Выделить всё

@Entity(
tableName = "turn",
foreignKeys = [
ForeignKey(
entity = Round::class,
parentColumns = ["id"],
childColumns = ["roundId"],
onDelete = ForeignKey.CASCADE
),
ForeignKey(
entity = Player::class,
parentColumns = ["id"],
childColumns = ["player1Id"],
onDelete = ForeignKey.CASCADE
),
ForeignKey(
entity = Player::class,
parentColumns = ["id"],
childColumns = ["player2Id"],
onDelete = ForeignKey.CASCADE
)
]
)
data class Turn(
@PrimaryKey(autoGenerate = true)
val id: Long = 0,
val roundId: Long,
val player1Id: Long,
val player2Id: Long,
)

data class TurnWithCards(
@Embedded val turn: Turn,
@Relation(
parentColumn = "id",
entityColumn = "id",
associateBy = Junction(
TurnCardRel::class,
parentColumn = "turnId",
entityColumn = "cardId"
)
)
val cards: List
)
< /code>
Однако я нахожу здесь некоторые проблемы. Если при создании объекта Turn 
, у меня есть только RoundId , который является длинным ... Должен ли я получить игру через DAO -запросы из репозитория?
, а с другой стороны, у меня есть переворачивающие карты объекта , который позволяет мне легко получить доступ к списку объектной карты , но нет способа иметь способ иметь Все данные централизованы в одном объекте? Я имею в виду, может быть, мне нужно добавить еще один список объектов, например, оценка , и должен ли я создать еще один класс данных ? Разве у меня нет что -то подобное? < /P>

Код: Выделить всё

data class TurnORM(
...
val round: Round,
val game: Game,
val player1: Player,
val player2: Player,
val cards: List
)
Если вы видите, что это Nosens>

Подробнее здесь: https://stackoverflow.com/questions/794 ... -room-mvvm
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»