Kontaktliste aktualisieren?

A

AndrejEdd

Neues Mitglied
0
Hallo zusammen

Ich arbeite an einer App und nun habe ich dort ein Fragment welches die Freundesliste anzeigen soll.
Ich habe eine Umsetzung gemacht die aber nicht so gut ist, da es die ganze Zeit abfragen auf den Server startet um die Kontaktliste zu aktualisieren sobald ein neuer Kontakt rein kommt und die Möglichkeit mit einem "Aktualisieren"-Button finde ich keine schöne Lösung.

Wie macht es z.B. Whatsapp, Snapchat, Viber,... das ihre Kontaktliste ziemlich schnell aktualisiert wird ohne das man die manual muss machen?

Sobald man einen neuen Kontakt ins Telefonbuch aufnimmt, dauert es wenige Sekunden und diese wird auch in die App genommen? Welche Architektur wird da verwendet? Wie wird das gelöst?
 
Was? Muss man bei Whatsapp nicht auch auf aktualisieren drücken? Ansonsten kann ich mir vorstellen dass solche Apps auf Intents hören könnten, falls welche ausgegeben werden beim Kontakte anlegen?!
 
nein bei whatsapp funktionierts bei mir so das wenn ich einen neuen kontakt anlegen und in whatsapp gehe das es im verlauf von ein paar sekunden diese von alleine aktualisiert wird ... wieso funktioniert das so schnell? bei mir wird die kontaktliste genommen und für jeden einzelnen eine abfrage gemacht auf den server ob dieser kontakt in der db vorhanden ist, wenn ja wird er bei kontaktliste hinzugefügt ansonsten nicht ... und dieser prozess dauert halt zu lange und dies schon bei einem gerät... wie würde das aussehen wenn 10 oder mehr das gleichzeittig verwenden...
 
Wenn Änderungen in Serverdiensten schnell in der App landen, würde ich drauf tippen, dass das via GCM passiert.
 
Ich würde mir einfach immer wenn ich die Kontakte Auslese eine Liste speichern, die alle abgefragten Kontakte beinhaltet und auch, ob Sie den Service nutzen.
Anschließend würde ich einen Listener oder ähnliches für Änderungen in der Kontaktliste registrieren (einfach mal bei Google suchen). Wenn die Kontakte geändert wurden vergleichst du sie mit deiner gespeicherten Liste und suchst dir die raus, die noch nicht drin stehen, also die neuen Kontakte. Dadurch musst du normalerweise nur einzelne Kontakte abfragen (außer bei der ersten Nutzung) und somit sehr viel Zeit sparen :)
 
GCM (PushNotification) ist die Abstand einfachste Lösung. Wenn man das ganze im Hintergrund (Service) laufen lässt, müsste es sehr schnell sein. Hier ist der limitierende Faktor der Server.

Lauschen auf Änderungen im Adressbuch.
Geht ungefähr so:

how to listen for changes in Contact Database
 

Ähnliche Themen

B
Antworten
3
Aufrufe
1.306
swa00
swa00
S
Antworten
4
Aufrufe
4.383
mblaster4711
mblaster4711
Jansenwilson
Antworten
1
Aufrufe
748
swa00
swa00
Zurück
Oben Unten