Проблема с объявлением базы данных в комнате AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема с объявлением базы данных в комнате Android

Сообщение Anonymous »

Если я оставлю @database , как и в коде, я получаю неудачу KSP с кодом выхода: Processing_error . Если я удалю его, то в то же время база данных не объявлена, и я получаю еще одну ошибку.TASK и пользователь таблицы (которые логичны, поскольку они не объявляются в сущностях).
Кроме того, учитывайте, что я новичок в Android Studio и не полностью понимаю, как все это работает и не знает, как мой код «должен».@Database(entities = [User::class, Task::class, Stat::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun getUserDao(): UserDao
abstract fun getStatDao(): StatDao
abstract fun getTaskDao(): TaskDao

companion object {
const val NAME = "App_DB"
}

}
< /code>
Вот 3 класса, которые используются: < /p>
Пользователь: < /p>
@Entity
data class User(
@PrimaryKey val id: Int = 0,
@ColumnInfo var db_username: String = "",
@ColumnInfo var db_level: Int = 1,
@ColumnInfo var db_coins: Int = 0,
@ColumnInfo var db_xp: Int = 0,
@ColumnInfo var db_stats: MutableList = mutableListOf()
)

Stat:
@Entity
class Stat (
@PrimaryKey(autoGenerate = true) val id: Int = 0,
@ColumnInfo var name: String,
@ColumnInfo var description: String = "",
@ColumnInfo var db_tasks: MutableList = mutableListOf(),
@ColumnInfo val owner: User
) {
@ColumnInfo var db_level = 1
@ColumnInfo var db_totalXP = 0
@ColumnInfo var db_currentXP = 0
@ColumnInfo var db_neededXP = 1
}
< /code>
задача: < /p>
@Entity
data class Task(
@PrimaryKey(autoGenerate = true) val id:Int = 0,
@ColumnInfo var name: String,
@ColumnInfo var xpPerUnit: Int = 1,
@ColumnInfo var xpToday: Int = 0,
@ColumnInfo var notes: String = "",
@ColumnInfo val stat: Stat
) {
@ColumnInfo var db_level = 1
@ColumnInfo var db_totalXP = 0
@ColumnInfo var db_currentXP = 0
@ColumnInfo var db_neededXP = 1
}


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

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

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

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

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

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