dependencies { implementation 'androidx.room:room-runtime:2.3.0' annotationProcessor 'androidx.room:room-compiler:2.3.0' } @Entity(tableName = "users") public class User { @PrimaryKey public int id; @ColumnInfo(name = "name") public String name; @ColumnInfo(name = "age") public int age; } @Dao public interface UserDao { @Insert void insert(User user); @Query("SELECT * FROM users") List<User> getAllUsers(); } public class MyDatabaseMigration extends RoomDatabase.Callback { @Override public void onCreate(@NonNull SupportSQLiteDatabase db) { super.onCreate(db); } @Override public void onUpgrade(@NonNull SupportSQLiteDatabase db, int oldVersion, int newVersion) { super.onUpgrade(db, oldVersion, newVersion); } } @Database(entities = {User.class}, version = 2) public abstract class MyDatabase extends RoomDatabase { public abstract UserDao userDao(); private static MyDatabase instance; public static synchronized MyDatabase getInstance(Context context) { if (instance == null) { instance = Room.databaseBuilder(context.getApplicationContext(), MyDatabase.class, "my_database") .addCallback(new MyDatabaseMigration()) .build(); } return instance; } }


上一篇:
下一篇:
切换中文