U moet transacties gebruiken bij het schrijven naar een sqlite-database, anders blijven de gegevens voor elke invoeging behouden, d.w.z. bewaar het op sd, wat "voor altijd" zal duren.
laat insertProduct bijvoorbeeld een lijst met producten nemen en deze in één transactie opslaan:
private void insertProducts(List<Product> products) {
try {
db.beginTransaction();
for(Product product : products) {
insertProduct(...);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
Dit is hoe u het in uw bestaande code kunt implementeren:
private void insertDemoProducts() {
SQLiteDatabase sqlDB = database.getWritableDatabase();
try {
sqlDB.beginTransaction();
for (int i = 1; i <= 100000; ++i) {
String id = Integer.toString(i);
insertProduct(id, "Test product " + id, "100", "75.50", "70.27");
}
sqlDB.setTransactionSuccessful();
} finally {
sqlDB.endTransaction();
}
}