Nicht wirklich ...
Sie können eine bestimmte URI an Ihre spezifischen GROUP BY-Klausel definieren.
Zum Beispiel, wenn Sie eine Tabelle mPersonTable, möglicherweise nach Geschlecht gruppiert, können Sie die folgenden URIs definieren:
PERSON
PERSON/#
PERSON/GENDER
Beim Abfragen, wechseln Sie zwischen Ihren Abfragen, so dass Sie Ihre Gruppe von Parametern hinzufügen:
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;
}
}
In der Tat könnte man jede Art von Parametern auf Ihre Anfrage passieren
Obs .: a UriMatcher Verwenden Sie die uri mit Ihrer Anfrage Implementierung übereinstimmen.
Dies ist eigentlich eine große Work-around ist, obwohl es den Content-Provider erfordert, sie zu unterstützen! Vielen Dank! – dbm
Ja, natürlich! Bitte. – JPMagalhaes
@JPMagalhaes: Bitte helfen Sie mir. Ich mache dasselbe, aber ich bekomme nicht, wie ich dieses Werkzeug bekomme. Kannst du bitte etwas mehr Code schreiben, um es zu ändern? –