3

アンドロイドデータベースに特定の連絡先が存在するかどうかを確認してデータベースに追加する方法を教えてください。連絡先の名前を確認すると、同じ名前の別の連絡先が存在する可能性があるため、誰かが助けてくれます。私のコードは次のとおりです。

String where = ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY+" = ? AND "+
               ContactsContract.RawContacts.ACCOUNT_TYPE + " = ? AND "+ 
               ContactsContract.RawContacts.ACCOUNT_NAME+" = ?";
String[] whereArg = new String[] {displayName, AccountType, AccountName};

Cursor SameName = cResolver.query(ContactsContract.RawContacts.CONTENT_URI, null, where, whereArg,null);

if (SameName == null || SameName.getCount() == 0) {
                    // the addContact method
                }else {

                    // do nothing, the contact is exsist

                }
4

1 に答える 1

0

その簡単なクエリを実行するだけです

String query ="SELECT * FROM " + TABLE_NAME + " WHERE displayName " + " = whateverNameYouWantToCheckFor" ; 

/*To avoid confusions of different contacts having the same name, extended the search criteria, by including other fields during the query.*/

Cursor c = cResolver.rawQuery(query,null);

int duplicate = c.getCount(); // If there is a row containing the searched name then the count of the cursor will not be 0.

if(duplicate !=0)
{
  //Code to do whatever you want when the name exists already.
}
else
{
  //Code to do whatever you want when the name does not exist.
}

それが役に立てば幸い...

于 2015-01-09T06:13:07.297 に答える