【问题标题】:GreenDAO really simple queryGreenDAO 真正简单的查询
【发布时间】:2014-01-10 04:05:24
【问题描述】:

我想创建一个非常简单的查询来使用 greendao 查找 sqlite 数据库。 2 个字段,一个是 ID,另一个是“确认”。 我很抱歉成为这样的初学者,但我不确定如何使用 greendao,包括要导入的内容等。到目前为止,我所能做的就是添加 greendao 库,但我找不到一个好的教程来做一个询问。基本上我希望它是一个随机 ID,它会调用一个随机确认并将其返回到我的主要活动中。再次抱歉,但我真的很努力但一无所获..

【问题讨论】:

标签: greendao


【解决方案1】:

Greendao 是一个 ORM 框架。如果你不知道这意味着什么,你应该先查一下。

Greendao 一般工作如下:

  • 您创建一个 java 项目,为您的真实应用程序生成源代码。您必须在此项目中包含 DaoCore 和 DaoGenerator。
  • 您将生成的源代码添加到您的 android-project 并在其中包含 DaoCore。 DaoGemerator 不是必需的。

有关如何生成代码和定义实体的示例,greendao 网站是一个不错的选择。

根据您的描述,您需要一个具有 id-property 和 string-property(确认)的实体。

然后,在您的 android 项目中,您可以使用 DevOpenHelper 获取会话,并从会话中获取实体的 dao(数据访问对象)。 dao 包含非常基本的查询,用于按 id (load ()) 加载数据。

请注意 DevOpenHelper 仅用于开发过程。对于您的最终版本,您应该扩展 OpenHelper 并定制您在 DB-schema 更新时要采取的行动。

【讨论】:

    【解决方案2】:

    这是我的应用程序中的一些示例代码。

    DaoHelper.getInstance().getDaoSession().clear(); 
    OperationDao dao = DaoHelper.getInstance().getDaoSession().getOperationDao();
    String userId = "some id"
    WhereCondition wc1 = new WhereCondition.PropertyCondition(OperationDao.Properties.UserId,
                    " = " + userId);
    WhereCondition wc2 = new WhereCondition.PropertyCondition(OperationDao.Properties.Priority,
                " > " + 4);
    // Uncached is important if your data may have changed recently.
    List<Operation> answer = dao.queryBuilder().where(wc1, wc2).listLazyUncached();
    

    【讨论】:

      【解决方案3】:

      This 是一个关于如何学习 greendao 的不错的教程。确保您点击链接到其他部分。

      你可以使用:

      daoMaster = new DaoMaster(db);
      daoSession = daoMaster.newSession();
      yourDao = daoSession.getYourDao();
      
      Random() random = new Random();
      List<YourObject> objects = yourDao.loadAll();
      YourObject yourObject = objects.get(random.nextInt(objects.size());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-04
        • 2011-08-18
        • 2015-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多