Android Sqlite数据库崩溃
有没有办法防止sqlite数据库崩溃?我有一个包含项目的列表视图。单击按钮时,所有项目都保存在数据库中。但是,当列表中有很多产品时,您在保存按钮上单击verry fast,应用程序就会冻结。然后,当我检查我的数据库时,所有项目都被多次保存 有人知道答案吗 代码: 使用isProdAlreadyFavorite,我检查数据库是否已经获得id为。。。 当你点击按钮时,他执行这个功能Android Sqlite数据库崩溃,android,sqlite,listview,Android,Sqlite,Listview,有没有办法防止sqlite数据库崩溃?我有一个包含项目的列表视图。单击按钮时,所有项目都保存在数据库中。但是,当列表中有很多产品时,您在保存按钮上单击verry fast,应用程序就会冻结。然后,当我检查我的数据库时,所有项目都被多次保存 有人知道答案吗 代码: 使用isProdAlreadyFavorite,我检查数据库是否已经获得id为。。。 当你点击按钮时,他执行这个功能 public void addFavProducten(ArrayList<Product> produc
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();
}
}
为什么不在用户单击“保存”按钮后立即禁用该按钮,保存数据,然后启用该按钮呢。您还需要更改数据库“保存”代码,以防止多次保存。什么崩溃?听起来数据库工作得很好。别忘了使用事务和某种标志来记录是否有新项目或正在更新的项目。听起来像是重入问题或ui中的某个循环。没有sqlite问题的迹象,也没有崩溃冻结的迹象。现在我这样做了,视图不会冻结。但他仍然输入了副本。。