I've execute this code in Android for inserting 100+ rows in SQLite database. My current approach takes more time to initialize the database.
private void getInitialization() {
try {
dao = new IdentifyImageDao(MainActivity.this);
dao.open();
level = new Level();
for (int i = 0; i < Level.LEVEL_NO_ARRAY.length; i++) {
level.setLevelNo(Level.LEVEL_NO_ARRAY[i]);
level.setTotalGuess(0);
level.setTotalImages(Level.TOTAL_IMAGES_PER_LEVEL[i]);
if (i < 2)
level.setLevelStatus(Level.LEVEL_UNLOCK);
else
level.setLevelStatus(Level.LEVEL_LOCK);
dao.insertLevel(level);
}
images = new Images();
// IMAGES_ID.length = 150
for ( int i = 0; i < Images.IMAGES_ID.length; i++ ) {
images.setLogoId(Images.IMAGES_ID[i]);
images.setLogoCheck(Images.IMAGE_UNCHECK);
dao.insertImages(images);
}
dao.close();
} catch (Exception e) {
}
}
Database method for image insertion
public long insertImages(Images images) throws SQLException {
ContentValues value = new ContentValues();
value.put(LOGO_NO, images.getLogoId());
value.put(LOGO_CHEECK, images.getLogoCheck());
return database.insert(TABLE_LOGO_MASTER, null, value);
}
Please review my code and suggest a more efficient and faster approach for inserting multiple data.