1

有没有办法防止 sqlite db 崩溃?我有一个包含项目的列表视图。当您单击按钮时,所有项目都保存在数据库中。但是当列表中有很多产品并且您在保存按钮上单击非常快时,应用程序会冻结。当我之后检查我的数据库时,所有项目都会被保存多次。

有人知道答案吗?

代码:使用 isProdAlreadyFavorite 我检查数据库是否已经有一个带有 id 的条目...当您单击按钮时,他执行此功能..

public void addFavProducten(ArrayList<Product> producten) {
    db = this.getWritableDatabase();

    db.beginTransaction();
    try {
        for (Product product : producten) {
            if (!isProdAlreadyFavorite(product.getProductid())) {
                ContentValues cv = new ContentValues();
                cv.put(Constanten.FAV_PROD_COLUMN_PRODUCTID,
                        product.getProductid());
                db.insert(Constanten.TABLE_FAVPROD, null, cv);
            }
        }
        db.setTransactionSuccessful();
    } catch (Exception e) {
        db.endTransaction();
    } finally {
        db.endTransaction();
        db.close();
    }
}
4

0 回答 0