2013-02-26 44 views
0

我有一个内容提供商,其中包括一个表,我想查询具有密钥值“key1”的特定条目,所以我在我的内容的query()方法中执行了以下操作提供者:内容提供商查询构建和默认表

@Override 
    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { 
     SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); 
     SQLiteDatabase db = dbHelper.getReadableDatabase(); 
     qb.setTables(TABLE_NAME); 
     Cursor c = qb.query(db, projection, selection, null, null, null, sortOrder); 
     c.setNotificationUri(getContext().getContentResolver(), uri); 
     return c; 
    } 

如何构建String selection作为第二个参数?我试图将选项设置为“key ='key1'”但失败。

我目前有一个内容提供者,并且只有一个表格。有没有办法通过URI直接引用表格?现在我必须使用URI/Table_name

谢谢!

回答

1

从您的问题中不清楚,但可能多余的引号是问题。您的选择字符串应该类似于key =“key1”(或key ='key1')。另外,您的提供者可以以任何想要的方式解释Uri,但标准方法是使用UriMatcher并使用表名(与URI/Table_name一样)指定它。