Android: How to close a cursor that returns from Class to Activity
Posted
by
Daniel
on Stack Overflow
See other posts from Stack Overflow
or by Daniel
Published on 2012-06-09T16:22:35Z
Indexed on
2012/06/09
16:40 UTC
Read the original article
Hit count: 198
I have: Accounts.java
public class Accounts{
private SQLiteDatabase dbConfig;
public Cursor list(Context context, String db, String where, String order) {
DBHelper dbHelper = new DBHelper(context, db);
dbConfig = dbHelper.getReadableDatabase();
Cursor c = dbConfig.query("accounts", new String[]{ "iId","sName"}, where, null, null, null, order);
return c;
}
}
and: MainActivity.java
Accounts account = new Accounts();
Cursor cursor = account.list(getApplicationContext(), globalDB, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(0);
String name = cursor.getString(1);
}
cursor.close();
Running my application I get some logcat messages like:
close() was never explicitly called on database...
What is the best way to prevent it? How can I close a Cursor that returns from other class? Thanks
© Stack Overflow or respective owner