当我决定使用ORMLite时,我编写了相当多的代码。
在阅读了文档之后,我发现我需要像这样扩展:
MyClass extends OrmLiteBaseActivity<DatabaseHelper>但我已经用ListActivity扩展了它。
是否可以在不扩展OrmLiteBaseActivity的情况下做到这一点?
提前使用Tnx。
发布于 2011-01-28 23:50:03
扩展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。有很多很好的例子。
发布于 2011-01-29 04:30:10
@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
}https://stackoverflow.com/questions/4829887
复制相似问题