Ich bin erfolgreich speichern Kontakte in parse.com Dashboard Datenbrowser mit diesem Code.Was ist der beste Weg, um eindeutige Kontakte in Android zu bekommen
public void readContacts(){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) ==1) {
System.out.println(name);
ParseObject testObject = new ParseObject("Contacts");
testObject.put("names", name);
// get the phone number
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
String phone = pCur.getString(
pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
System.out.println(phone);
testObject.put("phonenumber", phone);
}
pCur.close();
testObject.saveInBackground();
}
}
}
}
Aber es gibt keine Prüfung für die doppelten Kontakte!
Es speichert alle Kontakte doppelt aus Sim/Telefonspeicher.
Wie kann es vermieden werden?
Eine mögliche Methode, die ich denke, ist verschiedene Namen zu speichern (Kontakt) in der lokalen Datenbank, & dann das Abrufen von Daten, dass es zu speichern, in parse.com
Gibt es einen besseren Weg gibt?
Vielen Dank im Voraus ...
Was ist das Problem hier? Erhalten Sie doppelte Einträge? –
Ja, ich erhalte doppelte Einträge wie in meinem Telefon –