通过sql查询过滤联系人姓名

时间:2012-06-21 10:55:27

标签: android sql android-contacts

我一直在尝试使用ContactsContract获取所有联系人。我想使用'selection'参数过滤结果。换句话说,我想检索所有以字母A开头的联系人。所以我写了这个片段。但它崩溃了。

Uri uri = ContactsContract.Contacts.CONTENT_URI;
    String[] projection = new String[] {
        Contacts._ID, // the contact id column
        Contacts.DISPLAY_NAME,  // column if this contact is deleted
        Contacts.HAS_PHONE_NUMBER   };

String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + 
            " COLLATE LOCALIZED ASC";
cursor = getContentResolver().query
            (uri,
            projection,
            "android.provider.ContactsContract.Contacts.DISPLAY_NAME like 'A'",
            null,
            sortOrder);

据我所知,我可以插入到选择参数中,因为你可以在SQL语句的where子句中插入,这就是我所做的。

1 个答案:

答案 0 :(得分:0)

你走了。

db.query(
  TABLE_NAME,
  projection, 
  Contacts.DISPLAY_NAME + " like " + "'?%'",
  new String[] { "A" },
  null, null, null
);