光標我: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;
}
}
和: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();
運行我的應用程序得到一些logcat的消息像:
close() was never explicitly called on database...
防止它的最佳方法是什麼?我如何關閉從其他課程返回的遊標? 感謝
你需要關閉db.if沒有完成,那麼確保你在活動被破壞時關閉它 –
@Vipul不,你不需要關閉db。請參閱http://stackoverflow.com/a/7999153/385478 –