Die Weather Viewer's Weather Appendix App verwendet kostenlose restechnische OpenWeathermap.org-Webdienste, um eine 16-tägige Wettervorhersage für eine bestimmte Stadt zu erhalten. Die Anwendung empfängt Daten im JSON-Format. Die Ergebnisse werden in der ListView-Komponente angezeigt, um eine Liste mit der Scroll-Unterstützung anzuzeigen. In dieser Anwendung wird ein benutzerdefiniertes Format der Listenelemente verwendet:
Wetterbedingungen Symbol,
- Wochentag mit einer Textwetterbeschreibung An diesem Tag,
- der höchste und niedrigste Temperatur pro Tag (auf Celsius-Skala) und Feuchtigkeit in Prozent.
Um auf den Webdienst zuzugreifen, wurde die URL-Zeichenfolge in das URL-Objekt konvertiert.
Das URL-Objekt wird dann verwendet, um das HTTPURLConnection-Objekt zu öffnen, was zu einem Web-Service-Zugriff über die HTTP-Anforderung führt.
Die Anwendung liest alle Daten vom Eingabestream-Thread der HTTPURLConnection-Klasse und stellt sie in die Zeichenfolge und konvertiert diese Zeichenfolge in JSONObject, um zu verarbeiten.
Der Anhang zeigt, wie längere Vorgänge außerhalb des GUI-Streams durchführen und Ergebnisse im GUI-Stream mit Asynktask-Objekten erhalten. Dies ist besonders wichtig für die Erhalt von Webdiensten, dessen Ausführungszeit nicht ermittelt wird. Wetterdaten werden in der Liste der ListView-Komponente angezeigt, und die Daten für jedes ListView-Element werden mit der Subclaration von ArrayAdapter geliefert.
Es ist gezeigt, wie man die Geschwindigkeit der ListViews durch die Verwendung des Ansichtshalterungsmusters erhöht, in dem die Darstellungen der vorhandenen ListView-Elemente wieder verwendet werden, wenn die Elemente über die Grenzen hinausgeht.
und schließlich, Einige materielle Design-Tools aus der Android Design-Bibliotheksbibliothek - Die TextInputlayout-Komponente verlässt die EDITTEXT-Tipp auf dem Bildschirm, auch wenn der Benutzer mit der Eingabe von Text eingegeben hat.
Floating-Button FloatingActiveButton wird verwendet, um vom Benutzer eingegebene Daten zu senden. Die SNACKBAR-Komponente zeigt eine Informationsnachricht für den Benutzer an.
# REST-kompatible Web-Services, #asynktak,
#httpurlconnection,
#httpurlconnection,
Datenverarbeitung im JSON-Format, JSONOBJECT, Jsonarray,
#listView, ArrayAdapter, Ansichtshalter-Muster,
#textinputlayout, FloatingActionActionButton