提问人:Gura 提问时间:6/28/2023 最后编辑:Tenfour04Gura 更新时间:6/28/2023 访问量:57
我想将 SQLCipher 引入 Room
I want to introduce SQLCipher to Room
问:
我想将 SQLCipher 引入 Room。 我可以运行它而不会出现任何错误,但我无法打开创建的数据库。 我试图打开使用某些外部工具创建的数据库,但是当我输入我设置的密码时,它显示“不是数据库”。
我想解决数据库损坏的原因。 我是 Android 新手。 谢谢。
顺便说一句,Android 是 API30。
dependencies {
def room_version = "2.4.3"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
kapt "androidx.room:room-compiler:$room_version"
implementation "net.zetetic:android-database-sqlcipher:4.4.2@aar"
}
@Database(
entities = [
Config::class,
User::class
],
version = 2,
exportSchema = false
)
abstract class TestDatabase : RoomDatabase() {
abstract fun ConfigDao(): ConfigDao
abstract fun UserDao(): UserDao
companion object {
fun getDatabase(context: Context): TestDatabase {
return Room.databaseBuilder(
context.applicationContext,
TestDatabase::class.java,
"db_name"
).openHelperFactory(SupportFactory(SQLiteDatabase.getBytes("1234".toCharArray())))
.fallbackToDestructiveMigration()
.build()
}
}
}
答: 暂无答案
评论