android - 预填充数据库 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>
}
解决方案
推荐阅读
- c# - winforms GUI 应用程序中的控制台输出
- python - 如何在 windows 命令提示符下运行 python 文件?
- python - 根据 numpy.array_equal() 在 set/get_weights() 之后的两个相等的 Keras 模型没有相同的权重
- python - 如何生成包含时间的日期?
- python - InfluxDB 给了我一个关于日期查询的空列表(或生成器)
- html - Flexbox:如何在此处放置另一个对象
- latex - 标准文章.sty
- c# - 在 C# 中将一个列表覆盖在另一个列表上
- tensorflow - Tensorflow 中的 BytesInUse 是获取一个 gpu 设备上使用的所有 GPU 内存,还是仅获取 BytesInUse 所在模型使用的 GPU 内存?
- c - C sscanf 更改其他值