I am trying to run this request on my custom contentprovider.
cursor = activity.getContentResolver().query( GoalDescriptor.CONTENT_URI, "max(priority)", null, null, null);
to get the maximum value of the int priority column.
I also tried:
cursor = activity.getContentResolver().query( GoalDescriptor.CONTENT_URI, null, "max(priority)", null, null);
no success.
This code returns this exception:
java.lang.IllegalArgumentException: Invalid column MAX(priority) E/DatabaseUtils( 688): at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:523) E/DatabaseUtils( 688): at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:370) E/DatabaseUtils( 688): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:323) E/DatabaseUtils( 688): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280) E/DatabaseUtils( 688): at nan.salsa.contentprovider.goal.GoalContentProvider.query(GoalContentProvider.java:118) E/DatabaseUtils( 688): at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:150) E/DatabaseUtils( 688): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:111) E/DatabaseUtils( 688): at android.os.Binder.execTransact(Binder.java:288) E/DatabaseUtils( 688): at dalvik.system.NativeStart.run(Native Method) D/AndroidRuntime( 727): Shutting down VM
Implementation of my content provider (standard - see sample notes)
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); qb.setTables(GoalDescriptor.TABLE_NAME); switch (sUriMatcher.match(uri)) { case GOAL: qb.setProjectionMap(sGoalProjectionMap); qb.appendWhere(GoalDescriptor._ID + "=" + uri.getPathSegments().get(1)); break; case GOALS: qb.setProjectionMap(sGoalProjectionMap); break; default: throw new IllegalArgumentException("Unknown URI " + uri); }
Could you help me?
welcomes
source share