Du skal bruge transaktioner, når du skriver til en sqlite-database, ellers vil det bevare dataene for hver indsættelse, dvs. gemme dem på sd, som vil tage "for evigt".
få for eksempel insertProduct til at tage en liste over produkter og gemme dem i én transaktion:
private void insertProducts(List<Product> products) {
try {
db.beginTransaction();
for(Product product : products) {
insertProduct(...);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
Sådan kan du implementere det i din eksisterende kode:
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();
}
}