groovy
dependencies {
implementation "androidx.room:room-runtime:2.3.0"
annotationProcessor "androidx.room:room-compiler:2.3.0"
}
@Entity
public class User {
@PrimaryKey
public int id;
public String name;
}
@Dao
public interface UserDao {
@Insert
void insert(User user);
@Query("SELECT * FROM user")
List<User> getUsers();
@Update
void updateUser(User user);
@Delete
void deleteUser(User user);
}
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
public class MyApplication extends Application {
private AppDatabase appDatabase;
@Override
public void onCreate() {
super.onCreate();
appDatabase = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "my-database")
.build();
}
public AppDatabase getAppDatabase() {
return appDatabase;
}
}
User user = new User();
user.id = 1;
user.name = "John Doe";
AppDatabase appDatabase = ((MyApplication) getApplicationContext()).getAppDatabase();
UserDao userDao = appDatabase.userDao();
userDao.insert(user);