@Entity(tableName = "users")
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
private String name;
// getters and setters
}
@Dao
public interface UserDao {
@Insert
void insert(User user);
@Query("SELECT * FROM users")
List<User> getAllUsers();
// other methods
}
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
groovy
dependencies {
implementation "androidx.room:room-runtime:2.4.0"
annotationProcessor "androidx.room:room-compiler:2.4.0"
}
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.java
@Entity(tableName = "users")
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
private String name;
// getters and setters
}
// UserDao.java
@Dao
public interface UserDao {
@Insert
void insert(User user);
@Query("SELECT * FROM users")
List<User> getAllUsers();
// other methods
}
// AppDatabase.java
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
// MyApplication.java
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;
}
}
// MainActivity.java
public class MainActivity extends AppCompatActivity {
private UserDao userDao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyApplication myApplication = (MyApplication) getApplication();
AppDatabase appDatabase = myApplication.getAppDatabase();
userDao = appDatabase.userDao();
User newUser = new User();
newUser.setName("John Doe");
userDao.insert(newUser);
List<User> users = userDao.getAllUsers();
for (User user : users) {
Log.d("User", "ID: " + user.getId() + ", Name: " + user.getName());
}
}
}