I'm trying to get my ContentResolver to run this query:
select * from myTable limit 1 offset 2
The only query method in ContentResolver is:
resolver.query(uri, projection, selection, selectionArgs, sortOrder);
I've tried:
final Cursor c = resolver.query(
MyTable.CONTENT_URI,
MyTable.PROJECTION,
" ? ?",
new String[] {"1", "2"},
null);
Which just throws an IllegaLArgumentException. What is the correct way of achieving this?
I put the limit clause as a query parameter using the syntax 'limit = offset, limit':
Cursor c = context.getContentResolver().query(
MyTable.CONTENT_URI.buildUpon().encodedQuery("limit="+offset+","+limit).build(),
MyTable.PROJECTION,
null,
null,
null);
It works at least with MediaStore uris. Be careful of not encoding the "," or it won't work.