android – GROUP BY与CursorLoader

前端之家收集整理的这篇文章主要介绍了android – GROUP BY与CursorLoader前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何为我的CursorLoader定义GROUP BY查询

CursorLoader的两个构造函数可以看到单个Context或Context,Uri,projection,selection,selectionArgs和sortOrder.

但没有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,selectionArgs,groupBy,having,sortOrder,limit);
      default:
         break;
   }
}

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

Obs .:使用UriMatcher将uri与查询实现相匹配.

原文链接:https://www.f2er.com/android/311692.html

猜你在找的Android相关文章