
Üzerinde çalıştığım Android uygulamasında yaşadığım bir sıkıntıyı ve çözümünü burada sizinle paylaşmak istedim.
Zararlı Bağlantılar isimli uygulamamızda siber dünyada tespit edilen zararlı linkleri ve kategorilerini paylaşıyoruz. Veriler sürekli güncellendiğinden internetten verileri alıp local veri tabanına kaydedilmesi gerekiyor. Aldığımız kayıt sayısı yirmi binleri aştığından standart SQLite insert komutu ve foreach döngüsü ile 10 dakikayı aşan bir süre alıyordu. İnternetten yaptığım araştırma sonucunda aşağıdaki kod ile insert işlemini yapınca yaklaşık 10 saniye kadar bir zaman aldı.
String sql = "INSERT INTO table (number, nick) VALUES (?, ?)";
db.beginTransaction();
SQLiteStatement stmt = db.compileStatement(sql);
for (int i = 0; i < values.size(); i++) {
stmt.bindString(1, values.get(i).number);
stmt.bindString(2, values.get(i).nick);
stmt.execute();
stmt.clearBindings();
}
db.setTransactionSuccessful();
db.endTransaction();
Verilen bağlantıda uygulamayı göremiyoruz sanırım yanlış link verilmiş
Verilen bağlantıda uygulamayı göremiyoruz sanırım yanlış link verilmiş
See lessSait ORHAN
Uygulamanın GitHub linkni ekledim.
Uygulamanın GitHub linkni ekledim.
See lessTeşekkürler
Teşekkürler
See less