ListActivity ormlite问题?

时间:2011-01-28 15:26:14

标签: android ormlite

我决定使用时会编写相当多的代码 ORMLite。

阅读文档后,我发现我需要扩展如下:

MyClass extends OrmLiteBaseActivity<DatabaseHelper>

但我已经用ListActivity扩展了它。

可以不延长OrmLiteBaseActivity吗?

提前Tnx。

2 个答案:

答案 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
}