小编use*_*612的帖子

房间数据库迁移fallbackToDestructiveMigration()不起作用

我正在使用 Room,并在资产文件夹中预填充数据库。对于应用程序更新,我想通过添加新列并用新数据预填充此列来更改此数据库。

数据库从版本 1 自动迁移到版本 2(添加了一个表)。从版本 2 到版本 3,我现在想通过在资产文件夹中提供不同的“database.db”文件并允许破坏性迁移来应用上述更改。

@Database(entities = [Object1::class, Object2::class], version = 3, autoMigrations = [
    AutoMigration (from = 1, to = 2)], exportSchema = true)
abstract class AppDatabase : RoomDatabase() {

    abstract fun dao(): Dao

    companion object {

        private const val DB_NAME = "database.db"

        @Volatile
        private var instance: AppDatabase? = null

        fun getInstance(context: Context): AppDatabase {
            return instance ?: synchronized(this) {
                instance ?: buildDatabase(context).also { instance = it }
            }
        }

        private fun buildDatabase(context: Context): AppDatabase …
Run Code Online (Sandbox Code Playgroud)

android database-migration kotlin android-room

5
推荐指数
1
解决办法
5319
查看次数

通知 onClick Intent 向 Activity 发送错误数据

单击我的应用程序中的通知时,我正在使用 newIntent 传递正确的 taskId。这是我的广播接收器的 onReceive() 中的代码:

 Intent newIntent = new Intent(context, TaskActivity.class);
    int taskId = intent.getIntExtra("taskId", 0);
    newIntent.putExtra("taskId", intent.getIntExtra("taskId", 0));

      Notification notification = new NotificationCompat.Builder(context)
                    .setContentTitle(intent.getStringExtra("NotificationTitle"))
                    .setContentText(intent.getStringExtra("NotificationText"))
                    .setSmallIcon(intent.getIntExtra("NotificationIcon", 0))
                    .setContentIntent(PendingIntent.getActivity(context, 0, newIntent, 0))
                    .build();
Run Code Online (Sandbox Code Playgroud)

这是接收 Intent 的活动的代码

if (getIntent().hasExtra("taskId")) {
        currentTask = dataSource.fetchTask(getIntent().getIntExtra("taskId", 0));
    }
Run Code Online (Sandbox Code Playgroud)

当我调试时,方法 getIntExtra() 返回的值与广播接收器的 onReceive() 中的值不同。

任何想法为什么会发生这种情况?

谢谢!

notifications android broadcastreceiver android-intent

2
推荐指数
1
解决办法
732
查看次数