首页 > 解决方案 > 预填充数据库 Kotlin

问题描述

我需要一些帮助。我有一个由 DB Browser SQLite 创建的数据库。我想在应用程序中使用它。它有1441个英文单词和翻译。我想通过 onclicklistener 在 TextView 上循环显示它们。但我是 Room Database 和 Kotlin 的新手。我检查了模拟器数据,并创建了我的词汇数据库。

这是我的 MainActivity :

 val database = Room.databaseBuilder(applicationContext, AppDatabase::class.java, "Vocabulary")
            .createFromAsset("database/myapp.db")
            .build()
    database.dao().readWord()
    database.dao().readFirstTranslation()
    database.dao().readSecondTranslation()

实体 :

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey

@Entity
class Word_Entity {
@PrimaryKey
var voc_id: Int = 0
@ColumnInfo(name = "Vocabulary")
var vocs: String = ""
@ColumnInfo(name = "FirstTranslation")
var meaningFirst = ""
@ColumnInfo(name = "SecondTranslation")
var meaningSecond= ""
}

应用数据库:

import androidx.room.Database
import androidx.room.RoomDatabase
@Database(entities =[(Word_Entity::class)], version = 1)
abstract class AppDatabase: RoomDatabase() {
abstract fun dao () : DAO
}

道:

import androidx.room.Dao
import androidx.room.Query

@Dao
interface DAO {
@Query("select * from Word_Entity where Vocabulary")
fun readWord (): List<Word_Entity>
@Query("select * from Word_Entity where FirstTranslation")
fun readFirstTranslation (): List<Word_Entity>
@Query("select * from Word_Entity where SecondTranslation")
fun readSecondTranslation (): List<Word_Entity>
}

标签: androiddatabasesqlitekotlin

解决方案


推荐阅读