1
私は2つのDB clssesを持っており、1つはアセットから電話機にdbファイルをコピーします。アドレッシング "ファイナライザ内のステートメントを解放します。カーソルのclose()を明示的に呼び出すようにしてください"
私はDB呼び出しを行っていますが、ログにはカーソルを閉じる必要があるという厄介なエラーが発生しています。これは、すべての呼び出しが最後にcursor.close()を持っているので、私は混乱しています。第二の
コード:
public class DatabaseTools extends Common {
private Context context;
private SQLiteDatabase db;
private DatabaseHelper dbHelper;
private Cursor cursor;
public DatabaseTools(Context context) {
this.context = context;
dbHelper = new DatabaseHelper(context);
db = dbHelper.getWritableDatabase();
}
// MARKS
public ArrayList<String> getNames(String value) {
Names = new ArrayList<String>();
selectStatement = new String[] { DB_COMMON_COL_NAME };
fromStatement = DB_COMMON_COL_VALUE + " = '" + value + "'";
cursor = db.query(
DB_DISTANCE_TABLE_NAME,
selectStatement,
fromStatement,
null,
null,
null,
null);
int distanceIndex = cursor.getColumnIndex(DB_COMMON_COL_NAME);
if (cursor.moveToFirst()) {
do {
distanceNames.add(cursor.getString(distanceIndex));
} while (cursor.moveToNext());
}
cursor.close();
return names;
}