栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

不使用基本活动的Ormlite设置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

不使用基本活动的Ormlite设置

我在一个Android项目中使用ORMLite,并且我不想使用扩展活动,因为我是在AsyncTask上将值插入数据库中。

您的路线正确,但@Matt有点偏离。坦白说,如果没有扩展我们的基类,我从来没有做过一个项目。但这是一个很好的练习,因此我创建了这个ORMLite示例项目,该项目使用an

Activity
并管理自己的帮助程序。

您的

DBHelper
课程很好,但实际上您不需要
DataAccess
课程。在您的每项活动(或服务…)中,您都需要具有以下内容:

private DBHelper dbHelper = null;@Overrideprotected void onDestroy() {    super.onDestroy();    if (dbHelper != null) {        OpenHelperManager.releaseHelper();        dbHelper = null;    }}private DBHelper getHelper() {    if (dbHelper == null) {        dbHelper = (DBHelper)OpenHelperManager.getHelper(this, DBHelper.class);    }    return dbHelper;}

您[很明显],然后通过类似以下操作在代码中使用它:

Dao<SomeObject, Integer> someObjectDao = getHelper().getSomeObjectDao();

因此,每当您

getHelper()
第一次打电话时,它将通过管理器获取帮助者,从而建立与数据库的连接。每当您的应用程序被操作系统销毁时,它都会释放帮助程序-
如果是最新版本,则可能会关闭基础数据库连接。

请注意,如果您甚至没有基类就这样做,则将第一个

OpenHelperManager.getHelper()
需要使用。
Context``Activity

编辑:

如果您确实想创建一个

DataAccess
类型类来集中处理helper类,那么您将需要使这些方法静态化并做自己的使用计数器。如果有多个活动和后台任务在呼叫,
getHelper()
那么问题是您何时呼叫
releaseHelper()
?您必须为每个get计数增加一个计数,并且只有在计数器回到0时才释放该计数。但是即使如此,我仍然不确定100%可以从活动类中节省多少行。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/414108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号