Je souhaite insérer un nouveau numéro de téléphone avec un nouvel identifiant de contact dans mon SQLite. J'ai besoin de connaître l'identifiant de contact maximum dans mon contact, pour ignorer le même identifiant de contact. Est-il possible de connaître l'identifiant de contact maximum dans Android? MerciComment puis-je obtenir le maximum de l'identifiant de contact en contact par programmation?
1
A
Répondre
2
à partir des contacts Table, vous pouvez obtenir le dernier contact Id en questionnant comme illustré ci-dessous
final String sortOrder = ContactsContract.Contacts._ID+" DESC LIMIT 1";
Cursor lcursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,new String[] {ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME},null,null,sortOrder);
if (lcursor != null && lcursor.moveToFirst()) {
long id = lcursor.getLong(lcursor.getColumnIndex(ContactsContract.Contacts._ID));
String displayName = lcursor.getString(lcursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
curseur retournera qu'une seule entrée et que l'entrée sera la dernière contact_id dans la table du contact
Remarque: Cela ne devrait pas se faire sur un fil principal, car il peut prendre trop de temps si l'appareil est plus contact 1000 contacts, être donc toujours de carefull Interrogation du DataBase ayant de grandes entrées
Profitez du codage! :)
Si vous savez que vous aurez une seule entrée, pas besoin de boucle while – marmor
@marmor oui correct .. en fait, nous n'avons pas besoin de boucle tout, j'ai oublié de l'enlever .. j'ai édité :) –