首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OrmLiteBaseActivity与AppCompatActivity?

OrmLiteBaseActivity与AppCompatActivity?
EN

Stack Overflow用户
提问于 2016-08-09 12:16:51
回答 2查看 250关注 0票数 2

我正在尝试在我的应用程序中使用ORMLite (因为显然自己编写所有CRUD方法是“更难而不是更聪明”的开发方式),但我遇到了一个问题:我看到的许多示例项目都有扩展OrmLiteBaseActivity的活动。通常情况下,我的活动会扩展AppCompatActivity。

这会是一个问题吗?OrmLiteBaseActivity是否扩展了AppCompatActivity anywhere?或者,如果我选择ORMLite,我是否必须牺牲AppCompat?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-09 20:31:25

我不熟悉ORMLite,但是我不建议放弃AppCompat,转而使用ORMLite。那么你能做什么呢?

通过查看ORMLiteBaseActivity的源代码,您可以看到这个类扩展了Activity而不是AppCompatActivity,这对于库来说基本上是有意义的。此外,您可以看到这个类并没有做太多的事情。

所以选项#1不要使用ORMLiteBaseActivity,或者选项#2为你的应用创建一个自己的基础活动,它扩展了AppCompatActivity,并与ORMLiteBaseActivity做同样的事情。换句话说:可以选择复制项目中的类并简单地替换extends部件。

票数 1
EN

Stack Overflow用户

发布于 2021-03-25 08:10:55

至于2021年,实际上,你可以做得更好。因此,您不应该为了OrmLiteBaseActivity而牺牲AppCompatActivity,您可以同时使用它们。

首先,导入OpenHelperManager:

代码语言:javascript
复制
import com.j256.ormlite.android.apptools.OpenHelperManager;

在您的活动中定义对象

代码语言:javascript
复制
private DatabaseHelper databaseHelper = null;

使用以下getHelperMethod

代码语言:javascript
复制
private DatabaseHelper getHelper() {
    if (databaseHelper == null) {
        databaseHelper = OpenHelperManager.getHelper(this, DatabaseHelper.class);
        // we don't need  the following line that much
        // databaseHelper.getWritableDatabase(); // explicitly calls onCreate method of DatabaseHelper 
        //where you create tables for example, again it will be called anyway
    }
    return databaseHelper;
}

完成活动后,重写AppCompatActivity的OnDestroy以释放资源

代码语言:javascript
复制
 @Override
protected void onDestroy() {
    super.onDestroy();
    if (databaseHelper != null) {
        OpenHelperManager.releaseHelper();
        databaseHelper = null;
    }
}

因此,在我的例子中,您可以从您的活动中调用DatabaseHelper的任何方法listAllEntries(),如下所示:

代码语言:javascript
复制
getHelper().listAllEntries();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38841957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档