其他分享
首页 > 其他分享> > android – 在@Singleton上发布ORMLite帮助器

android – 在@Singleton上发布ORMLite帮助器

作者:互联网

我有一个@Singleton类,我注入了一个OrmLiteSqliteOpenHelper实例.我真的需要调用OpenHelperManager.releaseHelper()吗?如果我这样做,在哪里以及如何进行,因为类没有扩展任何Android基类,我可以到达onDestroy?

解决方法:

有一个ORMLite示例Android项目,它演示了这个名为HelloAndroidNoBase.我会检查出来.

主要活动的相关代码部分包含在下面.您需要在每个Activity或其他使用数据库的类中使用此类代码.

如果你的类没有onDestroy()方法,那么你需要添加一个并从其他具有onDestroy()的类中调用它.主要的活动是一个很好的地方.因此,当应用程序关闭时,您的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;
    }
}

标签:android,guice,ormlite,roboguice
来源: https://codeday.me/bug/20190630/1332051.html