android: Implementierung von app-such-Vorschlag basiert auf server-Antwort
Ich brauchen, um zu bauen eine Suchfunktion in meine android-app, die basiert auf json-Antwort vom server. Die Benutzer geben Sie die Suchanfrage in einem searchview befindet sich in der actionbar. Basierend auf welche die Benutzer einer Abfrage an den server und der server zurückgegebene Antwort sollte erscheinen als drop-down-Vorschlag. Wie sollte ich es angehen . Basierend auf der Dokumentation habe ich gelesen, die ich brauche, um zu implementieren ein content-provider. Was wäre die sauberste Art und Weise der Umsetzung der app-Suche ?
- Ich würde vorschlagen, mit diesem: stackoverflow.com/a/19433969/1683141 oder stackoverflow.com/questions/4264589/...
- Sie können return response from server zu einer Zeit und halten Sie alle Daten, die in ArrayList und kann die Suche in listview-Von ArrayList. Sie können auch implementieren, Suchabfrage Datenbank, die Sie verwenden und sammeln Rückkehr Reaktion auf die arraylist über webservice und kann zeigen, dass in der listview.
- Sie könnten auch einen asynctask aber das ist nicht empfehlenswert, wenn Ihr Anruf mit mehr als ein paar Sekunden. Kurz gesagt, downloaden und speichern Sie das Ergebnis, dann präsentieren Sie dem Benutzer. Dies ist, wenn Ihre Aktivität wird beendet, da der Benutzer beginnt, andere Dinge zu tun. Wenn das Ergebnis nicht mehr benötigt wird, löschen Sie es, damit Sie keinen Speicherplatz verwenden.
- stackoverflow.com/questions/8653260/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Siehe unten im code implementierte ich für EditText.Sie können auch etwas wie das hier tun:
Es wird der webService-Aufruf, wenn der Benutzer eingibt 1. Zeichen in EditText.Und dann speichern aller Antwort in tempArray und wenn der Benutzer andere Zeichen sucht, die element von tempArray.
Methode startServiceForSearchSuggestion() ist:
Wird es beginnen, webservice zu bekommen-Antwort vom server.
Der service ist Klasse:
onPostExecute-Methode, die Sie haben zu senden broadcast, um Ihre Aktivitäten und onReceive von dieser Sendung können Sie speichern Sie Ihre Json-Daten in die arrayList.Wie diese:
Methoden:
1.
2.
Habe ich adapter mit arrayList Json-Objekt wie folgt:
Können Sie direkt Lesen von Daten aus ArrayList JSONObject mit dem angegebenen tag in getView-Methode des Adapters.
Müssen Sie definieren, diesen service im Manifest so:
Hoffe es wird Euch helfen.
Können Sie einfach passen Sie den adapter für die AutoCompleteTextView.
AutoCompleteAdapter Klasse
AutoCompleteParse Klasse