データベース内のある関数からアクティビティ内の別の関数にカーソルを返しています。すべて正常に動作しますが、ログの猫は、呼び出された関数でカーソルを非アクティブ化または閉じるエラー (問題は発生していません) を返します。閉じると、呼び出し関数でアクセスできなくなります。非アクティブ化の仕組みがわかりません。また、強制終了によってデータベースがクラッシュすることがあります。それは、カーソルが開いているためですか、それとも他の理由ですか?
呼び出された関数は Database クラスにあります:
public Cursor Settings() {
mDB = DBHelper.getWritableDatabase();
Cursor data_db = mDB.rawQuery("SELECT * FROM " + setting + " ;",
null);
return data_db;
}
呼び出し機能:
public void insert()
{
Cursor cr = db.Settings();//db is object of database
if (cr == null)
otd.insert_setting(value + "", save_path, option);
else {
otd.delete_setting();
otd.insert_setting(value + "", save_path, option);
}
}