我在我的应用程序中使用房间数据库。Android 模拟器和我用户的 %99 设备没有问题,但我的一些用户收到该错误。
java.lang.IllegalStateException:无法从 CursorWindow 读取第 0 行、第 1 列。在访问 Cursor 中的数据之前,确保它已正确初始化。
完全错误
android.database.CursorWindow.nativeGetString (CursorWindow.java)
android.database.AbstractWindowedCursor.getString (AbstractWindowedCursor.java:66)
me.ibrahimsn.applock.data.local.app.AppDao_Impl.getAllApps (AppDao_Impl.java:202)
me.ibrahimsn.applock.data.local.app.AppRepository.getAll (AppRepository.java:20)
me.ibrahimsn.applock.ui.start.StartViewModel.updateApps (StartViewModel.java:51)
me.ibrahimsn.applock.ui.start.StartActivity.onCreate (StartActivity.java:48)
Run Code Online (Sandbox Code Playgroud)
我将它与 Dagger 2 一起使用,这是我的课程
@Database(entities = {App.class}, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase INSTANCE;
public abstract AppDao appDao();
public static AppDatabase getAppDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "mydb")
.allowMainThreadQueries().build();
}
return INSTANCE;
}
public static void destroyInstance() { …Run Code Online (Sandbox Code Playgroud)