| | |
| | | import androidx.room.Database; |
| | | import androidx.room.Room; |
| | | import androidx.room.RoomDatabase; |
| | | import androidx.room.migration.Migration; |
| | | import androidx.sqlite.db.SupportSQLiteDatabase; |
| | | import androidx.work.OneTimeWorkRequest; |
| | | import androidx.work.WorkManager; |
| | |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | @Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class},version = 1,exportSchema = false) |
| | | @Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class},version = 2,exportSchema = false) |
| | | public abstract class WorkRoomDataBase extends RoomDatabase { |
| | | private static final String TAG = "WorkRoomDataBase"; |
| | | public abstract StudentDao getstudentDao(); |
| | |
| | | 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}; |
| | | |
| | | |
| | | public static WorkRoomDataBase getWorkRoomDataBase(final Context mContext){ |
| | | Log.i(TAG, "getWorkRoomDataBase"); |
| | |
| | | if (workRoomDataBase == null){ |
| | | Log.i(TAG, "getWorkRoomDataBase==null "); |
| | | workRoomDataBase = Room.databaseBuilder(mContext.getApplicationContext(),WorkRoomDataBase.class,"work_database") |
| | | .addMigrations(ALL_MIGRATIONS) |
| | | .addCallback(new Callback() { |
| | | @Override |
| | | public void onCreate(@NonNull SupportSQLiteDatabase db) { |