2 votes

Quelle est la manière efficace d'obtenir tous les noms et numéros de téléphone des contacts dans l'API de contact?

Je utilise actuellement l'ancienne API des contacts (qui a été obsolète depuis Android 2.0), et je me demande s'il y a un moyen d'obtenir tous les contacts ainsi que leur numéro de téléphone, sans faire une requête séparée pour chaque contact comme cela était conseillé sur quelques sites que j'ai trouvés.

Par exemple, dans l'ancienne API, je pouvais faire quelque chose comme ceci :

String[] projection = new String[] { Phones._ID, Phones.NAME,
            Phones.NUMBER };

    Uri contacts = Phones.CONTENT_URI;

    Cursor managedCursor = managedQuery(contacts, 
            projection, // Quelles colonnes retourner
            null, // Quelles lignes retourner (toutes les lignes) 
            null, // Arguments de sélection (aucun) 
            // Mettre les résultats en ordre croissant par nom
            Phones.NAME + " ASC");

merci.

4voto

Alex Points 131

J'ai trouvé ce que je cherchais, et l'utilisation de la nouvelle API est encore plus simple, voici la nouvelle façon de récupérer tous les contacts avec leur nom et leur numéro de téléphone :

Cursor managedCursor = getContentResolver()
    .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
     new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER}, null, null,  Phone.DISPLAY_NAME + " ASC");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X