gradle
implementation 'androidx.room:room-runtime:2.4.0'
kapt 'androidx.room:room-compiler:2.4.0'
@Entity(tableName = "users")
public class User {
@PrimaryKey(autoGenerate = true)
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);
}
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
public class MyApp extends Application {
public static AppDatabase database;
@Override
public void onCreate() {
super.onCreate();
database = Room.databaseBuilder(getApplicationContext(),
AppDatabase.class, "my-app-db").build();
}
}
User user = new User();
user.name = "John";
user.age = 25;
MyApp.database.userDao().insert(user);
gradle
implementation 'org.greenrobot:greendao:3.3.0'
@Entity
public class User {
@Id(autoincrement = true)
private Long id;
private String name;
private int age;
// Getters and setters
}
public class MyApp extends Application {
private DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "my-app-db");
Database db = helper.getWritableDb();
daoSession = new DaoMaster(db).newSession();
}
public DaoSession getDaoSession() {
return daoSession;
}
}
UserDao userDao = MyApp.getInstance().getDaoSession().getUserDao();
User user = new User();
user.setName("John");
user.setAge(25);
userDao.insert(user);