Я получаю ошибку при выполнении операции с базой данных.
В моем проекте, когда я пытаюсь получить доступ к deleteAll()
из класса Дао, т.е.
![enter image description here](https://i.stack.imgur.com/7g3UE.png)
См. Код ниже:
@Dao
public interface AuthenticationDao {
@Insert
void insert(Authentication authentication);
@Query("delete from authentication")
void deleteAll();
@Query("select * from authentication")
Authentication getAuthInformation();
}
AppDatabase.java
@Database(entities = {Authentication.class}, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase INSTANCE;
public static AppDatabase getAppDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE =
Room.databaseBuilder(context,
AppDatabase.class,
"my-database")
.allowMainThreadQueries()
.build();
}
return INSTANCE;
}
public abstract AuthenticationDao authenticationDao();
}
В чем проблема?
Это потому, что я использую AppDatabase dbInstance = Room.databaseBuilder(context,AppDatabase.class,"my-database")
.allowMainThreadQueries()
.build();
для инициализации объекта базы данных?
Если я использую AppDatabase dbInstance = Room.inMemoryDatabaseBuilder(InstrumentationRegistry.getContext(), AppDatabase.class).allowMainThreadQueries().build();
, тогда он работает нормально.
В чем может быть причина?