Как предварительно заполнить базу данных комнаты с помощью createFromAsset () - PullRequest
0 голосов
/ 15 апреля 2020

хочет предварительно заполнить базу данных данными , когда пользователь обновляет приложение без удаления ранее сохраненных данных

@Database(entities = {SupplierEntity.class, CoverPurchaseEntity.class, CoverSellEntity.class, CoverQuantityEntity.class},version = 2,exportSchema = false)
@TypeConverters(DateConvertor.class)
public abstract class InventoryDatabase extends RoomDatabase {
    private static InventoryDatabase Instance;
    public static synchronized InventoryDatabase getInstance(Application application){
        if(Instance==null){
            Instance= Room.databaseBuilder(application,InventoryDatabase.class,"Sample_DB.db")
                    .createFromAsset("database/Inventory_DB")
                    .fallbackToDestructiveMigration()
                    .build();
        }
        return Instance;
    }
}

На устройстве версия базы данных равна 1 и предварительно упакованная версия базы данных 2. Попробовав приведенный выше код, он изменит версию базы данных 1 на 2, но данные не заполнились.

...