1

次の電話帳を想像してください。

123456

B と Android

654321

112233

D と Android

778899

「with Android」を含む連絡先を取得したい。アイデアは、選択基準として「Android で」を使用することです。

私は次のことを試しました:

String[] projection = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Phone.NUMBER};

String where = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ?";
String selection = " with Android";
String[] selectionArgs = {selection};
Cursor myCursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
        projection, where, selectionArgs, null);  

「=?」も使用してみました。「いいね?」の代わりに しかし、結果は得られませんでした。

前もって感謝します!

4

1 に答える 1

0

私もAndroidの初心者ですが、これが役立つと思います

実際、一致する文字列を取得しようとしているクエリ文字列は間違っています。like... を使用する場合、特定のテキストに一致する特定の文字列を取得する場合は、クエリ文字列を次のように指定する必要があります。

SELECT * FROM customers
WHERE 'Robert Bob Smith III, PhD.' LIKE '%mit%';

Android では、選択引数は文字列配列として渡されます

コードを次のように変更します。

String where = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ";
String selection = "%with Android";
String[] selectionArgs = {selection};

チェックアウトしてください

于 2013-09-23T14:10:31.873 に答える