| | |
| | | private static final int NUMBER_OF_THREADS = 4; |
| | | |
| | | public static final ExecutorService dataBaseWriteExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS); |
| | | static Migration migration = new Migration(1,2) { |
| | | @Override |
| | | public void migrate(@NonNull SupportSQLiteDatabase database) { |
| | | database.execSQL("alter table student_table ADD COLUMN begin_time INTEGER NOT NULL DEFAULT 0"); |
| | | } |
| | | }; |
| | | private static final Migration[] ALL_MIGRATIONS = new Migration[]{migration}; |
| | | // static Migration migration = new Migration(1,2) { |
| | | // @Override |
| | | // public void migrate(@NonNull SupportSQLiteDatabase database) { |
| | | // database.execSQL("alter table student_table ADD COLUMN begin_time INTEGER NOT NULL DEFAULT 0"); |
| | | // } |
| | | // }; |
| | | //private static final Migration[] ALL_MIGRATIONS = new Migration[]{migration}; |
| | | |
| | | |
| | | public static WorkRoomDataBase getWorkRoomDataBase(final Context mContext){ |
| | |
| | | if (workRoomDataBase == null){ |
| | | Log.i(TAG, "getWorkRoomDataBase==null "); |
| | | workRoomDataBase = Room.databaseBuilder(mContext.getApplicationContext(),WorkRoomDataBase.class,"work_database") |
| | | .addMigrations(ALL_MIGRATIONS) |
| | | // .addMigrations(ALL_MIGRATIONS) |
| | | .addCallback(new Callback() { |
| | | @Override |
| | | public void onCreate(@NonNull SupportSQLiteDatabase db) { |
| | | super.onCreate(db); |
| | | OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(SeedDatabaseWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest1 = OneTimeWorkRequest.from(CriteriaForIWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest2 = OneTimeWorkRequest.from(FailedProjWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest3 = OneTimeWorkRequest.from(CriteriaForIIWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest2 = OneTimeWorkRequest.from(FailedProjWorker.class); |
| | | Log.i(TAG, "onCreate: 创建数据库后建立数据表插入数据"); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1); |