あなたはあなたがオンラインで多くの質問を調べたと言います、しかしあなたは間違いなくこれまたはこれを調べませんでした。それは文字通り検索の5分後に発生しました。
とにかく、私があなたなら、この問題を解決するために、finally
を含めます 接続を閉じるときの句。これは、データベースヘルパーを静的インスタンス変数として宣言し、AbstractFactoryパターンを使用してシングルトンプロパティを保証することを意味します。
DatabaseHelper
が1つだけであることを確認していないため、警告が発生しています いつでも存在します。 mInstance
の場合 オブジェクトが初期化されていません。オブジェクトが作成されます。すでに作成されている場合は、単に返されます。
コードは次のとおりです:
public ArrayList<ItemSubject> loadDataSubject() {
ArrayList<ItemSubject> arrayList = new ArrayList<>();
String select = "select * from " + TABLE_SUBJECT;
Cursor cursor = getData(select);
if (cursor != null && cursor.getCount() > 0) {
try {
cursor.moveToFirst();
for (int i = 0; i < cursor.getCount(); i++) {
String id = cursor.getString(cursor.getColumnIndex(TAG_ID));
String course = cursor.getString(cursor.getColumnIndex(TAG_COURSE_NAME));
....
ItemSubject objItem = new ItemSubject(id, courseId,...);
arrayList.add(objItem);
cursor.moveToNext();
}
finally {
if (cursor != null)
cursor.close();
}
}
return arrayList;
}
しかし、あなたの質問(他の投稿ですでに回答されている)への私の唯一の貢献は、初級英語の不足を改善することであるとあなたが言うので、あなたがこれを適切な答えとして受け入れることができるかどうかはわかりません。
>