Room DB抛出SQLiteDatabaseCorruptException

时间:2019-05-22 17:20:15

标签: android android-room

在我们的应用程序中,我们使用Room DB在本地存储数据。

在某些用户设备中,我们注意到数据库正在抛出AllowAnnonymous

当我们尝试使用SQLException在数据库操作上放置try / catch块时,Android Studio会引发错误。

除了捕获异常之外,还有什么更好的方法来处理此错误?

任何对此的指点,我们将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

您要存储什么?以及如何存储它?数据库在读取或写入时损坏了吗?

这是我设置的,并且从未发生过数据库损坏

典型更新

@Update
void updateCard(Card card);

从存储库更新

public void updateCard(Card card){
    new updateCard(cardDao, card).execute();
}


 private static class updateCard extends AsyncTask<Void, Void, Void> {

    private CardDao mDao;
    private Card card;

    updateCard(CardDao dao, Card card) {
        this.mDao = dao;
        this.card = card;
    }

    @Override
    protected Void doInBackground(Void... params) {
        mDao.updateCard(card);
        return null;
    }
}

但这比说交易中断更可能是数据问题