एक बेहतर संरचना विधि के बाहर एक डीबी संदर्भ बनाएगी, और इसे संदर्भ के रूप में पास करेगी:
SQLiteDatabase db = this.getWritableDatabase();
db.beginTransaction();
// your for loop
db.setTransactionSuccessful();
db.endTransaction();
==============कृपया नीचे जांचें कि बहु पंक्तियों को सम्मिलित करने के लिए किसका उपयोग किया जाता है:
// adb is SQLiteOpenHelper
JSONObject jsonObject = new JSONObject(response);
JSONArray foodsessions = jsonObject.getJSONArray("foodsessions");
int length = foodsessions.length();
for (int i = 0; i < length; i++) {
JSONObject o = foodsessions.getJSONObject(i);
String session = session_object.getString("sessionname");
String start_time = session_object.getString("start_time");
String end_time = session_object.getString("end_time");
String session_id = session_object.getString("id");
SQLiteDatabase db = adb.getWritableDatabase();
ContentValues newValues = new ContentValues();
newValues.put(adb.ATTRIBUTE_session, session);
newValues.put(adb.ATTRIBUTE_start_time, start_time);
newValues.put(adb.ATTRIBUTE_end_time, end_time);
newValues.put(adb.ATTRIBUTE_session_id, session_id);
long res = db.insertWithOnConflict(adb.TABLE_NAME, null, newValues, SQLiteDatabase.CONFLICT_REPLACE);
db.close();
}
एक बेहतर समाधान कच्ची क्वेरी का उपयोग करने से बचना है यदि इसे SQLiteDatabase
द्वारा प्रदान की गई विधि द्वारा किया जा सकता है ।