要在Android Java中访问ROOM数据库中的对象,可以按照以下步骤进行操作:
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);
@Update
void update(User user);
@Delete
void delete(User user);
@Query("SELECT * FROM users")
List getAllUsers();
}
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
private static AppDatabase instance;
public static synchronized AppDatabase getInstance(Context context) {
if (instance == null) {
instance = Room.databaseBuilder(context.getApplicationContext(),
AppDatabase.class, "my_database")
.fallbackToDestructiveMigration()
.build();
}
return instance;
}
}
// 在Activity或Fragment中的使用示例
AppDatabase db = AppDatabase.getInstance(getApplicationContext());
UserDao userDao = db.userDao();
// 插入用户
User user = new User();
user.id = 1;
user.name = "John Doe";
user.age = 25;
userDao.insert(user);
// 更新用户
user.age = 26;
userDao.update(user);
// 删除用户
userDao.delete(user);
// 获取所有用户
List users = userDao.getAllUsers();
通过以上步骤,你就可以在Android Java中访问ROOM数据库中的对象了。