private static AppDatabase buildDatabase(final Context appContext, final AppExecutors executors) { return Room.databaseBuilder(appContext, AppDatabase.class, DATABASE_NAME) .allowMainThreadQueries()//允许主线程查询 .setJournalMode(JournalMode.WRITE_AHEAD_LOGGING) .addCallback(new Callback() { @Override public void onCreate(@NonNull SupportSQLiteDatabase db) { super.onCreate(db); executors.diskIO().execute(() -> { // Add a delay to simulate a long-running operation 添加延迟以模拟长时间运行的操作
if(BuildConfig.DEBUG){ Log.w("Appdatabase","DATABASE_INIT"); } // Generate the data for pre-population 生成预人口数据 AppDatabase database = AppDatabase.getInstance(appContext, executors); List<PrintTemplate> templeteEntries = DataGenerator.generateTempletes(); insertData(database, templeteEntries); // notify that the database was created and it's ready to be used MutableLiveData flag=true database.setDatabaseCreated();