room使用注意的问题
1、room 创建表语句时,integer类型需要指明默认值
2、@Database(表名,表名) 要把所有包括升级的表包含在内,不要遗漏,否则报错;版本号改成最新的版本号(升级后的版本号)
3、加锁
private static final Object sLock = new Object();
private static MusicDatabase INSTANCE;
public static MusicDatabase getInstance(Context context) {
synchronized (sLock) {
if (INSTANCE == null) {
INSTANCE = Room
.databaseBuilder(context.getApplicationContext(), MusicDatabase.class, "music.db")
.build();
}
return INSTANCE;
}
}