我决定使用时会编写相当多的代码 ORMLite。
阅读文档后,我发现我需要扩展如下:
MyClass extends OrmLiteBaseActivity<DatabaseHelper>
但我已经用ListActivity扩展了它。
可以不延长OrmLiteBaseActivity吗?
提前Tnx。答案 0 :(得分:7)
不要求扩展OrmLiteBaseActivity
。您只需要自己管理更多的实用程序功能。
您最好的选择是在您的活动中创建自己的DatabaseHelper
,并管理其中有多少用户,并在完成使用后将其丢弃。一般来说,这是OrmLiteBaseActivity
给你的实用工具。一种为您管理数据库对象的机制。这只是一种便利。
示例:
private static Dao<Agent, Object> agentDao = null;
public void someMethod() {
if(agentDao == null){
helper = (MyDBHelper) OpenHelperManager.getHelper(getContext());
try {
agentDao = helper.getAgentDao();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我已经实现了一个方法来返回MyDBHelper类上的DAO。看一下ORMLite Android Javadoc以及更一般的ORMLite Core Javadoc。那里有很多很好的例子。
答案 1 :(得分:1)
[@Nick的答案很好,但我想我会添加更多信息。 ]
ORMLite缺少4.10版中添加的OrmLiteBaseListActivity
类 - 对未命中感到抱歉。在此期间,您可以通过复制OrmLiteBaseTabActivity
类来更改从TabActivity
扩展到ListActivity
的类,轻松创建自己的此类版本。然后更改所有列表活动类以扩展此新类。 4.10结束后,您可以返回并删除该课程。
例如:
public abstract class OrmLiteBaseListActivity<H extends OrmLiteSqliteOpenHelper>
extends ListActivity {
// insert contents of the OrmLiteBaseTabActivity class here
}