Close

Sensorki – aplikacja “pogodowa” – #0

Dawno temu Mąż porozstawiał po domu sensorki [specyfikacja sensorków] zbierające dane na temat m. in. temperatury i wilgotności w pomieszczeniach mieszkania i z balkonu. Do tej pory jedynym dostępem do danych jest strona internetowa. Nie może tak być – trzeba zrobić aplikację na Androida 😉

O to jak będzie wyglądać aplikacja nie musiałam się martwić. Zamierzałam wzorować się na tym co na stronie:

wersja web

Na początku trzeba było wyciągnać dane – nie było to trudne skoro dostałam endpoint, który zwraca mi plik .json z danymi, które muszę tylko wyświetlić. 

przykładowy plik

Na kursie Udacity Nanodegree z Androida, którego nie ukończyłam, zdążyłam poznać bibliotekę Retrofit, którą postanowiłam użyć do pobrania pliku z serwera. Najpierw trzeba było utworzyć interfejs serwisu z obiektem typu Retrofit z adresem serwera, do którego będę się łączyć:

WeatherService.java

Poza tym serwis zawiera tylko jedną deklarację metody – loadData(), która zwraca Call<JSONObject>. Do deklaracji przypięłam adnotację, która wskazuje na endpoint, doklejaną do baseUrl z obiektu Retrofit.

Serwis tworzę i wywołuję w MainActivity. Wywołanie metody loadData wyląduje w kolejce. Tworzę Callback by wywołała się asynchronicznie. W Callbacku nadpisuję metody onResponse, jeśli wszystko będzie ok i onFailure, która wykona się jeśli coś się wykrzaczy. W pomyślnym przebiegu to co przyjdzie z serwera zamieniam na obiekty typu Sensor i dam znać do adaptera żeby zaktualizował widok.

MainActivity.java

Na ten moment klasa Sensor wygląda tak:

Sensor.java na dzień 10.08.18 😉

ale czemu by nie skorzystać z biblioteki Moshi – trzeba tylko zmapować odpowiednie struktury 😉 Ale to stanie się gdzieś na etapie refaktoryzacji. W kolejnym wpisie – warstwa widoku. A kod można podejrzeć na githubie. Od razu uprzedzam, że nie działa, podany jest fake’owy adres – nie chcę DDoS na biedny, domowy serwerek 😉 Aplikacja jest podpięta do demo serwera na Heroku generującego losowe dane 😉

Series NavigationSensorki – widok i adapter – #1 >>

2 thoughts on “Sensorki – aplikacja “pogodowa” – #0

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: