Close

Odjazd – prowizoryczny klient – #02

Mam już działający serwer, który potrafi wysłać jsona w świat. Trzeba mi teraz czegoś co odbierze tego jsona i wyświetli użytkownikowi. Czas na prowizorycznego klienta. Choć to prowizorka, to powinien naprawdę komunikować się z serwerem, a nie tylko to udawać.

Żeby aplikacja mogła się połączyć z internetem trzeba jej przyznać w manifeście odpowiednie uprawnienia:

Dodanie odpowiedniego uprawnienia to nie jedyne o czym trzeba pamiętać przy tworzeniu aplikacji, która łączy się z internetem. Druga rzecz to fakt, że zapytanie nie może się wywoływać w głównym wątku. Żeby zaspokoić tą potrzebę trzeba stworzyć asynchroniczny task, który odpyta serwer poza głównym wątkiem:

Tworzę klasę OdjazdQueryTask (wplatam nazwę aplikacji, bo mogę 😉 ), która rozszerza AsyncTask, z paramterem typu URL na wejściu i Stringiem na wyjściu. Środkowy parameter jest typem Void, bo nie wykorzystuję metody onProgressUpdate. Metoda onPostExecute wykonuje się w momencie zakończenia taska i wstawia mi wynik zapytania do textView. Druga metoda doInBackground wykonuje zapytanie do serwera dla podanego Url-a:

Layout mojej aplikacji, to dwa przyciski i textview. Na ten moment to mi wystarczy. Trzeba podpiąć pod przycisk odpowiednią akcję, która wyzwoli zapytanie do serwera:

Tworzę nową instancję klasy OdjazdQueryTask i wywołuję ją z paramentrem URL stworzonym dla początku startowego ‘praca’.

I teraz krótka demonstracja jak zachowuje się aplikacja po wciśnięciu każdego z przycisków:

Jak na razie wszystko w najlepszym porządku 🙂

Kod dostępny tu: https://github.com/jezinka/Odjazd-client

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: