我想在Android应用程序中使用java来解决Room的问题。但是,我遇到了一个问题,即只有在第二次查询数据库后查询才会生效。
例如: 该应用程序有两个按钮“返回DB”和“删除数据库”。单击“删除数据库”按钮时,将使用主活动中的方法。该方法使用AsyncTask来调用相关的DAO。所以说实体的表目前有3条记录{A,B,C}。当我按“删除数据库”然后按“返回数据库”时,我希望它返回{},但在这种情况下,它仍然返回{A,B,C}。在此之后,当我第二次按下“返回DB”时,它会返回{}。
对此我不熟悉,我只是想知道是否有人遇到过类似的问题。谢谢!
MainActivity.java
.
.
.
public void deleteDB(View view) {
new DeleteDatabase().execute();
}
.
.
.
private class DeleteDatabase extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... voids) {
database.myEntityDao().nukeTable();
return null;
}
}
.
.
.
myEntityDao.java
.
.
.
@Query("DELETE FROM MyEntity")
void nukeTable();
.
.
.
答案 0 :(得分:0)