Du måste använda transaktioner när du skriver till en SQLite-databas, annars kommer den att bevara data för varje infogning, dvs spara den till sd som kommer att ta "för evigt".
till exempel, få insertProduct att ta en lista över produkter och spara dem i en transaktion:
private void insertProducts(List<Product> products) {
try {
db.beginTransaction();
for(Product product : products) {
insertProduct(...);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
Så här kan du implementera det i din befintliga kod:
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();
}
}