我无法删除我的应用程序的本地房间数据库,无论我做什么。 我试着卸载应用程序,但没用。 然后我在AndroidManifest文件中创建了android:allowbackup=“false”
,这也没有帮助。
有没有人可以建议一个删除应用程序数据库的方法。
DB帮助程序:-
Database(version = 1, entities = [User::class, Cart::class, Purchase::class, Product::class], exportSchema = false)
@TypeConverters(Converters::class)
public abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
abstract fun cartDao(): CartDao
abstract fun purchaseDao(): PurchaseDao
abstract fun productDao(): ProductDao
companion object {
private var appDatabase: AppDatabase? = null
fun getInstance(context: Context): AppDatabase {
if (appDatabase == null) {
appDatabase = buildDatabaseInstance(context)
}
return appDatabase!!
}
private fun buildDatabaseInstance(context: Context): AppDatabase {
return Room.databaseBuilder(
context,
AppDatabase::class.java,
"consumer_app"
).addCallback(object: Callback() {
override fun onCreate(db: SupportSQLiteDatabase) {
super.onCreate(db)
Executors.newSingleThreadScheduledExecutor().execute {
getInstance(context).cartDao().insert(Cart())
}
}
})
.allowMainThreadQueries()
.build()
}
}
}
请注意(如果有关系的话):
手机-Android 10
编译DKversion 28
MINSDK版本21
TargetSDK版本28
请尝试以下操作:
companion object {
@Volatile
private var INSTANCE: AppDatabase? = null
fun getDatabase(context: Context): AppDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
"consumer_app"
)
.allowMainThreadQueries()
.build()
INSTANCE = instance
instance
}
}