2

この Vogella チュートリアルに従っていくつかのデータ アクセス オブジェクトを作成しましたが、そのうちの 1 つに問題があります。アプリの再開時にいくつかのクエリを実行すると、タイトルにエラーが表示されることがあります。具体的には、次の形式の 3 つのメソッドを実行します。

public List<Event> getPendingEvents() {
    openReadable();
    List<Event> events = new ArrayList<Event>();

    Cursor cursor = localDb.query(EventTable.TABLE_EVENT,
            allColumns, allColumns[8] + " = ?", new String[] {"pending"}, null, null, null);

    cursor.moveToFirst(); // crash here:  Cannot perform this operation because the connection pool has been closed.
    while (!cursor.isAfterLast()) {
        events.add(cursorToEvent(cursor));
        cursor.moveToNext();
    }

    cursor.close();
    return events;
}

そして、それらがすべて実行された後、データベース接続を閉じます。クエリの後に接続プールが閉じるのはなぜですか? 理由が思いつかなくて困っています。データベースファイルのサイズに何らかの関係があるのでしょうか? 特にテーブルは非常に小さい (< 50 レコード) ですが、他のテーブルが影響を与える可能性はありますか? 私の他の唯一の考えは、それが onResume の仕組みと関係があるということです。

誰でも何か考えがありますか?

4

0 に答える 0