dbm*_*dbm 10 android android-cursorloader
如何GROUP BY为CursorLoader 定义查询?
这两个构造一个CursorLoader我看拿一个单一的Context或Context,Uri,projection,selection,selectionArgs和sortOrder.
但没有groupBy.
(我正在使用Android 2.3设备的支持包)
JPM*_*aes 24
并不是的...
您可以为特定的GROUP BY子句定义特定的URI.
例如,如果您有一个表mPersonTable,可能按性别分组,则可以定义以下URI:
PERSON
PERSON/#
PERSON/GENDER
Run Code Online (Sandbox Code Playgroud)
查询时,在查询之间切换,以便按参数添加组:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
实际上,您可以将任何类型的参数传递给查询
Obs.:使用UriMatcher将uri与您的查询实现相匹配.
您可以使用选择参数添加分组依据
new CursorLoader(context,URI,
projection,
selection+") GROUP BY (coloum_name",
null,null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6453 次 |
| 最近记录: |