ContentResolver.query()的参数 说明
public final Cursorquery (Uri uri,String[] projection, String selection, String[] selectionArgs,String sortOrder)
Since: API Level 1
Query the given URI, returning a Cursor
over the result set.
For best performance, the caller should follow theseguidelines:
- Provide an explicit projection, to prevent reading data fromstorage that aren't going to be used.
- Use question mark parameter markers such as 'phone=?' insteadof explicit values in the
selection
parameter, so thatqueries that differ only by those values will be recognized as thesame for caching purposes.
Parameters
uri | The URI, using the content:// scheme, for the content toretrieve. |
---|---|
projection | A list of which columns to return. Passing null will return allcolumns, which is inefficient. |
selection | A filter declaring which rows to return, formatted as an SQLWHERE clause (excluding the WHERE itself). Passing null will returnall rows for the given URI. |
selectionArgs | You may include ?s in selection, which will be replaced by thevalues from selectionArgs, in the order that they appear in theselection. The values will be bound as Strings. |
sortOrder | How to order the rows, formatted as an SQL ORDER BY clause(excluding the ORDER BY itself). Passing null will use the defaultsort order, which may be unordered. |
Returns
- A Cursor object, which is positioned before the first entry, ornull
解释一下:假如一条sql语句如下:
select * from anyTable where var='const'
那么anyTable就是uri,*就是projection,selection是“var=?",selectionArgs写成这样:newString[]{'const‘}
至于最后一个就简单了,就是排序方式。
其实 第三个参数是sql语句where部分,如果第三个参数不带 “?”,那么第四个参数 写成 null;