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 theselection 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;










你可能感兴趣的:(android-app)