4

@Singletonのインスタンスを挿入したクラスがありますOrmLiteSqliteOpenHelper。実際に電話する必要がありOpenHelperManager.releaseHelper()ますか?私がそうする場合、クラスは私が到達できるAndroid基本クラスを拡張しないので、どこでどのようにそれを行うべきonDestroyですか?

4

1 に答える 1

3

HelloAndroidNoBaseと呼ばれるこれを示すORMLiteサンプルAndroidプロジェクトがあります。私はそれをチェックします。

メインの関連するコードセクションActivityは以下に含まれています。Activityデータベースを使用するクラスまたは他のクラス のそれぞれに、この種のコードを含める必要があります。

クラスにメソッドがない場合は、onDestroy()メソッドを追加して、を持っている他のクラスの1つから呼び出す必要がありますonDestroy()。メインActivityはこれに適した場所です。したがって、アプリケーションがシャットダウンしているときにMainActivity.onDestroy()電話をかけます。yourClass.onDestroy()

public class HelloNoBase extends Activity {

    private DatabaseHelper databaseHelper = null;

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (databaseHelper != null) {
            OpenHelperManager.releaseHelper();
            databaseHelper = null;
        }
    }

    private DatabaseHelper getHelper() {
        if (databaseHelper == null) {
            databaseHelper = OpenHelperManager.getHelper(this,
                DatabaseHelper.class);
        }
        return databaseHelper;
    }
}
于 2012-08-22T14:16:25.800 に答える