Android queryBuilder.appendWhere()的作用是什么?安卓
这里使用Android queryBuilder.appendWhere()的作用是什么?安卓,android,android-contentprovider,Android,Android Contentprovider,这里使用queryBuilder.appendWhere()有什么意义?在Cursor Cursor=queryBuilder.query()中设置where子句不是更简单吗?或者设置“where”子句的两种方式不同 public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { // Uisng SQLiteQ
queryBuilder.appendWhere()
有什么意义?在Cursor Cursor=queryBuilder.query()中设置where子句不是更简单吗?或者设置“where”子句的两种方式不同
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
// Uisng SQLiteQueryBuilder instead of query() method
SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
// Check if the caller has requested a column which does not exists
checkColumns(projection);
// Set the table
queryBuilder.setTables(TodoTable.TABLE_TODO);
int uriType = sURIMatcher.match(uri);
switch (uriType) {
case TODOS:
break;
case TODO_ID:
// Adding the ID to the original query
queryBuilder.appendWhere(TodoTable.COLUMN_ID + "="
+ uri.getLastPathSegment());
break;
default:
throw new IllegalArgumentException("Unknown URI: " + uri);
}
SQLiteDatabase db = database.getWritableDatabase();
Cursor cursor = queryBuilder.query(db, projection, selection,
selectionArgs, null, null, sortOrder);
// Make sure that potential listeners are getting notified
cursor.setNotificationUri(getContext().getContentResolver(), uri);
return cursor;
}
如果要根据条件构建WHERE
子句的各个部分,可以使用appendWhere()