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();
}
}