Het weer Viewer's Weer Bijlage-app maakt gebruik van gratis rustcompatibele OpenWeathermap.org Web Services om een 16-daagse weersvoorspelling te krijgen voor een bepaalde stad. De applicatie ontvangt gegevens in JSON-indeling. De resultaten worden weergegeven in de lijst LISTVIEW om een lijst met scroll-ondersteuning weer te geven. In deze toepassing wordt een aangepast formaat van de lijstelementen gebruikt:
Weersomstandigheden Icon,
- Dag van de week met een tekstuele weerbeschrijving op deze dag,
- de hoogste en de laagste temperatuur per dag (op Celsius-schaal) en
Vocht in procent.
om toegang te krijgen tot de webservice, de URL-string is geconverteerd naar het URL-object.
Het URL-object wordt vervolgens gebruikt om het HTTPURLCONNECTION-object te openen, wat resulteert in een webservicetoegang via HTTP-aanvraag.
De applicatie leest alle gegevens uit de ingangsstroomdraad van de HTTPURLConnection-klasse en plaatst ze in de tekenreeks en bekeert deze tekenreeks in JSONObject naar het proces.
De bijlage laat zien hoe de lange bewerkingen buiten de GUI-stream uitvoeren en resultaten verkrijgen in de GUI-stream met behulp van ASYNCTASK-objecten. Dit is vooral belangrijk voor het ontvangen van webservices, waarvan de uitvoeringstijd niet wordt bepaald. Weergegevens worden weergegeven in de LISTVIEW-component en worden de gegevens voor elk LISTVIEW-element geleverd met behulp van de ARRAYADADAPER-subclaratie.
Het wordt getoond hoe de snelheid van het LISTVIEW te verhogen door het gebruik van het weergave-houderpatroon, waarin de weergaven van de bestaande lijstviewelementen opnieuw worden gebruikt wanneer de elementen buiten de grenzen worden uitgevoerd.
en ten slotte, Sommige materiële ontwerphulpmiddelen uit de Android Design Library Library - De TextInputLayout-component laat de EditTekstip op het scherm achter, zelfs nadat de gebruiker is begonnen met het invoeren van tekst;
Zwevende knop FloatingActiveButton wordt gebruikt om gegevens die door de gebruiker zijn ingevoerd; De Snackbar-component toont een informatieve boodschap voor de gebruiker.
# Rust-compatibele webservices, #asynctak,
#httpurlconnection,
#httpurlconnection,
#httpurlconnection,
De gegevensverwerking in JSON-formaat, JSONObject, JSONArray,
#listview, arrayadapter, kijk-houderpatroon,
#TextInputLayout, FloatingactionAction Button