ActiveAndroid库中的execute()和executeSIngle()方法之间的区别?

时间:2015-06-27 08:02:53

标签: android sqlite activeandroid

我是 ActiveAndroid 的新手,我一直在查询数据库。 请帮助我了解execute()图书馆中executeSingle()ActiveAndroid方法之间的区别?

这两种方法都用于查询数据库,但我没有得到何时使用前者以及何时使用后者?

2 个答案:

答案 0 :(得分:5)

执行()返回对象列表,而 executeSingle()返回已执行查询返回列表的第一个元素。

因此 execute()的返回值是一个列表, executeSingle()的返回值是一个单独的对象。

答案 1 :(得分:2)

executeSingle()public static Item getRandom(Category category) { return new Select() .from(Item.class) .where("Category = ?", category.getId()) .orderBy("RANDOM()") .executeSingle(); } 之间的区别在documentation中有所解释:

  

如果我们只想从某个类别中获取项目,我们会为where参数传入一个字符串。该方法如下所示:

public static List<Item> getAll(Category category) {
    return new Select()
        .from(Item.class)
        .where("Category = ?", category.getId())
        .orderBy("Name ASC")
        .execute();
}
  

以下是我们如何获取某个类别中的所有项目,按名称排序。

execute()

如您所见,executeSingle()会返回一个列表,而executeSingle()会返回一个对象。

在上面的示例中,第一个将返回与查询匹配的随机对象,而第二个将以升序返回所有对象。

换句话说,使用execute()返回第一个结果,并使用{{1}}返回包含所有对象的列表。