Solusi SQLite Problem: A SQLiteConnection object for database was leaked!


Saya mendapatkan error di logcat berikut ini ketika menggunakan SQLite dengan IDE ADT (Eclipse).

A SQLiteConnection object for database was leaked! Please fix your application

Solusinya ditemukan di link berikut: https://stackoverflow.com/a/25308921

Yakni dengan menambahkan finally dan db.close(). Contoh kodenya berikut ini.

// menginisiasi variabel database
dbhelper = new DBHelper(getApplicationContext());

try {
// memanggil database dan mengambil datanya
dbhelper.createDataBase();
c = dbhelper.getData(kode);

if(c.getCount()>0){
int indexKode = c.getColumnIndex("kode");
int indexJudul = c.getColumnIndex("judul");
int indexGambar = c.getColumnIndex("gambar");

c.moveToFirst();

do{
String sKode = c.getString(indexKode);
String sJudul = c.getString(indexJudul);
String sGambar = c.getString(indexGambar);

                                        Materi materi = new Materi();
materi = new Materi(sJudul, sKode, sGambar, "");

materiList.add(materi);

c.moveToNext();

}while(!c.isAfterLast());
c.close();

}

ListViewAdapter adapter = new ListViewAdapter(getApplicationContext(), materiList);

// Memasukkan data ke dalam listview
list.setAdapter(adapter);

} catch (IOException e) {
e.printStackTrace();
} finally{
dbhelper.close();
}
    }


Post a Comment

Lebih baru Lebih lama