gpt4 book ai didi

android - GROUP BY 与 CursorLoader

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:22 25 4
gpt4 key购买 nike

如何为我的 CursorLoader 定义一个 GROUP BY 查询?

我看到 CursorLoader 的两个构造函数采用单个 ContextContext, Uri, projectionselectionselectionArgssortOrder

但是没有groupBy

(我正在使用 Android 2.3 设备的支持包)

最佳答案

不是真的...

您可以为特定的 GROUP BY 子句定义特定的 URI。

例如,如果您有一个表 mPersonTable,可能按性别分组,您可以定义以下 URI:

PERSON
PERSON/#
PERSON/GENDER

查询时,在您的查询之间切换,以便您可以通过参数添加您的组:

public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
String groupBy = null;
switch (mUriMatcher.match(uri)) {
case PERSON_ID:
...
break;
case PERSON_GENDER:
groupBy = GENDER_COLUMN;
case PERSON:
SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
builder.setTables(mPersonTable);
builder.setProjectionMap(mProjectionMap);
return builder.query(db, projection, selection, selectionArgs, groupBy, having, sortOrder, limit);
default:
break;
}
}

事实上,您可以将任何类型的参数传递给您的查询

观察:使用 UriMatcher 将 uri 与您的查询实现相匹配。

关于android - GROUP BY 与 CursorLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10580883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com