Wählen Sie in den Einstellungen für Kontakte in Android-Gerät die Option für die bevorzugte Sortierreihenfolge, und reduzieren Sie die Abfragezeit.

8

Ich habe zwei Fragen:

1: Wie kann meine Anwendung die Standardsortierreihenfolge für die Sortierung von nativen "Android Device Contacts" kennen?

Innerhalb von "Kontakte" - & gt; "Einstellungen" in Android, wir haben " Liste von " und " Kontakte anzeigen von" Optionen. Wie kann ich diese Präferenzen in meiner Anwendung erhalten?

Beispiel: Nehmen wir an, die Gerätekontakte werden nach "Vorname" sortiert, dann sollte die Anwendung eine Konstante erhalten (oder etwas Ähnliches). Auf der anderen Seite, wenn Kontakte nach "Nachname" sortiert sind, sollte die Anwendung Konstanten (oder Informationen) bezüglich derselben erhalten.

Ich habe SO gesucht und diesen Link erhalten, aber das Problem war, dass die Lösung veraltet war in API-Ebene 5 .

Hier ist meine Abfrage zum Abrufen von Kontakten

%Vor%

Ich brauche Code für getPrefContacts () Methode

2: Wie kann die Abfragezeit in Bezug auf den obigen Code oder auf andere Weise reduziert werden?

Hoffe, dass mir jemand helfen kann.

Vielen Dank im Voraus.

    
Susomrof 24.10.2013, 15:16
quelle

2 Antworten

4

Ich kann nur Ihre zweite Frage beantworten.

Sie können das Attribut join von SQL verwenden, wenn Sie die Inhaltsanbieter abfragen. Dadurch werden verschachtelte while-Schleifen entfernt und somit die Abfragezeit reduziert.

Bearbeiten: Versuchen Sie Folgendes für Ihre ersten Fragen :

  

int Sortierreihenfolge = Settings.system.getInt (getApplicationContext   () .getContentResolver (), "android.contacts.SORT_ORDER");

Auf meinem Samsung S2-Gerät sort_order = 1 , wenn Kontakte nach Vorname und Sortierreihenfolge = 2 aufgeführt sind, wenn Kontakte nach Nachname.

    
Abhinav 06.11.2013, 06:25
quelle
1

Sie können die Sortierreihenfolge in Ihrer Listenaktivität verwalten, wenn Sie einen eigenen CustomAdapter für die Listenaktivität erstellen.

Das Filtern und Sortieren der Daten erfolgt über den Adapter. Sie müssen die Logik in Ihrer benutzerdefinierten Adapterimplementierung implementieren.

Der Adapter wird dem ListView über die setAdapter-Methode für das ListView-Objekt zugewiesen.

für zB

%Vor%

Hier wird die Sortierreihenfolge über den Cursor verwaltet, der die Daten für die Liste enthält.

    
abhishek rathore 25.10.2013 05:07
quelle