1.导包
implementation "androidx.room:room-runtime:2.4.2"
annotationProcessor "androidx.room:room-compiler:2.4.2"
2.gradle中配置
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
3.创建数据对象实体
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "username")
@ColumnInfo(name = "password")
public User(@NonNull String userName,@NonNull String password){
this.userName = userName;
this.password = password;
4.创建对应的Dao
public interface UserDao {
void addUser(User ... user);
int deleteUser(User user);
int updateUser(User user);
@Query("SELECT * FROM user WHERE userID = :id")
5.创建数据库
@Database(entities = {User.class},version = 3,exportSchema = true)
public abstract class MyRoomDatabase extends RoomDatabase {
public static String roomName = "user";
public static MyRoomDatabase instance;
public abstract UserDao getUserDao();
public static MyRoomDatabase getInstance(Context context){
synchronized (MyRoomDatabase.class){
instance = Room.databaseBuilder(context,MyRoomDatabase.class,roomName).allowMainThreadQueries().build();
6.调用
MyRoomDatabase.getInstance(this).getUserDao().addUser(new User("wang","lllll"));