Programowanie urządzeń mobilnych. projekt 6 ( )

Podobne dokumenty
Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Podstawy technologii WWW

5. Mechanizm szablonów.

Kurs walut. Specyfikacja projektu. Marek Zając

3.4. Opis konfiguracji layoutów.

Dostęp ze strony głównej-> wchodzimy Umowy na realizacje świdczeń -> Pokaż więcej

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Platforma e-learningowa

Przewodnik po Notowaniach Statica mdm 4

Specyfikacja funkcjonalna

Aplikacja VISO Mobile (Android) Instrukcja instalacji i obsługi

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

Dodatek. Instrukcja instalacji i konfiguracji. dla Subiekt nexo. Wersja:

SHOPER INTEGRATOR BY CTI INSTRUKCJA

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Android poradnik programisty


1. Od czego zacząć? - Instalacja środowiska pracy

Odczyty 2.0 Spis treści

Specyfikacja implementacyjna aplikacji mobilnej

Przewodnik użytkownika (instrukcja) AutoMagicTest

PODSYSTEM RADIODOSTĘPU MOBILNEGO ZINTEGROWANEGO WĘZŁA ŁĄCZNOŚCI TURKUS

Dokumentacja techniczna API systemu SimPay.pl

POMOC / INSTRUKCJA OBSŁUGI

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6

Aplikacja VISO Mobile v1.0 (Android) Instrukcja instalacji i obsługi

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Podstawy technologii WWW

Instrukcja obsługi aplikacji MobileRaks 1.0

Instrukcja użytkownika. Aplikacja mysafety Mobile i mysafety e-sticker_wersja WSTĘP... 2

Shell Card Online usługa fakturowania elektronicznego Podręcznik użytkownika

Moduł integrujący serwis Korporacji Kurierskiej z programem WF-MAG Instrukcja użytkowania

TECHNOLOGIA OBSŁUGI KONTRAKTÓW INFORMACJA O AKTUALIZACJI SYSTEMU ISO 9001:2000 Dokument: Raport Numer: 22/2012 Wydanie: Waga: 90

Instrukcja do programu Przypominacz 1.5

Aplikacje w środowisku Java

Instrukcja obsługi narzędzia API

Microsoft Small Basic

Kurier DPD by CTI. Instrukcja

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

KatMPBSoft - 1 -

IIIIIIIIIIIIIIIMMIMMIII

Moduł Media backup oraz konfiguracja serwera zapasowego

Wprowadzenie do projektu QualitySpy

Telesprzedaż by CTI Instrukcja

Dokumentacja Użytkownika Systemu. Integracja z Okazje.info, Skąpiec, Sklepy24

Szanowni Państwo, Krok 1 Identyfikator. Krok 2 Hasło z JANNOWAK WPROWADZENIE DO BGK24 NOWY SYSTEM BGK24

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

INSTRUKCJA OBSŁUGI Wersja: 1.8

Instrukcja użytkownika Integrator Allegro X DEFT

Programowanie urządzeń mobilnych

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

SHOPER INTEGRATOR XL BY CTI INSTRUKCJA

PRZYJMOWANIE/WYDAWANIE KOLEKTORAMI BY CTI

GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

Kalipso wywiady środowiskowe

Przewodnik użytkownika (instrukcja) AutoMagicTest

Wydawanie czytnikami by CTI. Instrukcja

Dokumentacja Użytkownika Systemu

Podręcznik Google. Cloud Print. Informacje o usłudze Google Cloud Print. Drukowanie przy użyciu usługi Google. Cloud Print.

Platforma e-learningowa

Instrukcja użytkowania oprogramowania SZOB PRO

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Aplikacja Fidbox. wersja 3.1. dla systemów ios i Android. Wymagania dla systemu Android: Bluetooth 4 i system Android w wersji 4.

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KASK by CTI. Instrukcja

POLITYKA PRYWATNOŚCI

SERWER AKTUALIZACJI UpServ

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

PRESTASHOP INTEGRATOR XL BY CTI INSTRUKCJA

Złośliwe oprogramowanie Sandrorat (podszywające się pod oprogramowanie Kaspersky) na platformę Android WYNIKI ANALIZY

Szczegółowy opis zamówienia:

Nawigacja po trasie wycieczki

akademia androida Sensory część V Mobile Applications Developers

INSTRUKCJA OBSŁUGI Wersja: 2.5

Instrukcja obsługi do programu i-monitallegro GT

URLOPY BY CTI. Instrukcja obsługi

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Android tworzenie aplikacji mobilnych

ibosstoken Proces obsługi (wydawania, personalizacji i korzystania) Tokena mobilnego do systemu BOŚBank24 iboss

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Programowanie obiektowe

Autoryzacja zleceń z użyciem aplikacji Java Web Start "Pocztowy24Podpis"

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

CMS- kontakty (mapa)

INSTRUKCJA obsługi certyfikatów

Programowanie obiektowe

Ministerstwo Finansów

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Instrukcja do programu BHP e-xpert

VIRTUEMART INTEGRATOR BY CTI INSTRUKCJA

Zad. 6: Sterowanie robotem mobilnym

Elektroniczna Bankowość. EBO Token PRO. 19 sierpnia 2019

instrukcja INSTALACJI APi_proxy

Namierz Dziecko. Instrukcja do Strony. Wersja 1.6. Cyliński Piotr

Transkrypt:

Programowanie urządzeń mobilnych projekt 6 (05.01.2018) Usługi lokalizacyjne Jedną z powszechniejszych funkcjonalności wykorzystywanych przez liczne aplikacje przeznaczone dla urządzeń mobilnych jest możliwość określenia lokalizacji (współrzędnych GPS) danego urządzenia. Poniżej zaprezentowano przykład, w którym aplikacja będzie wyświetlać aktualne położenie urządzenia w postaci współrzędnych GPS. Aby było to możliwe konieczne jest zmodyfikowanie pliku AndroidManifest.xml W wierszu 4 dodano wiersz, dzięki któremu aplikacja uzyskuje uprawnienia do korzystania z usług lokalizacyjnych, co w praktyce oznacza dostęp do danych zwracanych przez moduł GPS (ACCESS_FINE_LOCATION). To uprawnianie może ograniczać się tylko do lokalizacji w oparciu o usługi sieci GSM lub w oparaciu o GPS jak w opisywanym przypadku.

1. Wiersz 20 - wykorzystanie tzw. usług systemowych jako podstawy do utworzenia obiektu klasy LocationMenager. Będzie on reagował na zmianę wartości długości i szerokości geograficznej wykrytą przez moduł GPS 2. Wiersz 21 - obiekt klasy LocationListener, którego zadaniem jest obsługa zmian w statusie modułu GPS wykrywanych przez obiekt klasy LocationMenager. Wywołanie konstruktora klasy LocationListener powoduje, iż Android Studio automatycznie generuje 4 puste metody przeznaczone do obsługi zmian statusu położenia. 3. wiersz 39 - wypełniamy metodę onlocationchanged kodem, który realizowany ma być w momencie zmiany współrzędnych szerokości i długości geograficznej. 4. Wiersz 41, 42 - w oparciu o dane przechowywane w obiekcie location odczytujemy odpowiedni długość i szerokość geograficzną, a następnie aktualizujemy tekst wyświetlany w aktywności głównej aplikacji. 5. Wiersz 49 - dowiązanie do Menadzeraaktualizacji obiektu, który będzie reagował na zmiany w statusie usług lokalizacyjnych. Warto zwrócić uwagę, że android studio ostrzega w tym przypadku (czerwone podkreślenie), iż następuje wykorzystanie usług lokalizacyjnych bez weryfikacji, czy moduł GPS jest włączony, oraz czy użytkownik udział aplikacji odpowiednich uprawnień (zrezygnowano z tego dla przejrzystości przykładu). O ile w przypadku korzystania z urządzenia rzeczywistego w łatwy sposób można zweryfikować poprawność działania powyższego przykładu, tak w przypadku korzystania z emulatora koniecznym jest odwołanie się do ustawień emulatora ( przycisk [ ]), gdzie istniej możliwość "ręcznej" symulacji zmiany położenia:

W efekcie aplikacja wyświetlić powinna: Komunikacja klient - serwer Dobrym przykładem aby zaprezentować ten aspekt jest pobranie np. strony internetowej z wybranego serwera WWW. Dla uproszczenia przykładu aplikacja będzie ograniczać się do wyświetlenia statusu połączenia oraz pobrania i wyświetlenia w okienku logu środowiska Android Studio kodu HTML pobranej strony: Podobnie jak w przypadku wykorzystywani usług lokalizacyjnych koniecznym jest udzielenie uprawnień specjalnych dla aplikacji, tym razem niezbędnych do komunikacji z Internetem. Podobnie jak w tamtym przypadku należy dodać stosowne uprawnienie do pliku Android Manifest (patrz wiersz nr 7 poniżej):

Kod realizujący opisane wyżej funkcjonalności zaprezentowano poniżej:

1. Wiersz 28 - metoda wywoływana przez przycisk na aktywności głownej 2. Wiersz 30 - wywołanie konstruktora dodatkowej klasy PobierzStatusPołączenia i jednocześnie wywołanie metody execute() z parametrem zawierającym adres pobieranej strony Internetowej. Wywołanie execute() skutkuje automatycznym wywołaniem metody doinbackground() z szablonu AsyncTask. 3. Wiersz 32 - nowa klasa pochodna od klasy AsyncTask - rozwiązanie umożliwia asynchroniczne wykonywanie zadań w niezależnym wątku. Przy odwołaniu do szablonu AsyncTask, zostaje automatycznie utworzona metoda doinbackground(); Metoda ta jest wywoływana automatycznie w momencie żądania metody execute() - patrz wyżej. 4. Wiersz 38 - wywołanie metody PobierzURL z paramaterem zawierjącym adres żądanej strony Internetowej. 5. Wiersz 45 - nowy obiekt klasy URL utworzony dla adresu żądanej strony. 6. Wiersz 46 - obiekt klasy HttpURLConnection utworzony w oparciu o efekt wywołania openconnetion() dla obiektu klasy URL. 7. Wiersz 47 - próba nawiązania połączenia ze wskazanym adresem.

8. Wiersz 48 - pobranie kodu odpowiedzi 9. Wiersze 49, 50 - bufor pomocniczy oraz jego obsługa na potrzebę pobierania danych w utworzonego wcześniej połączenia. 10. Wiersz 53 - pętla pobierające wszystkie wiersze zwrócone przez serwer i wypisująca je do logu monitora Android Studio. 11. Wiersz 60 - metoda automatycznie wywoływana po zakończeniu realizacji metody doinbackground z parametrem przez nią zwróconym - wyświetla na aktywności kod statusu połączenia. W efekcie wykonania powyższego kodu np. dla strony witryny www.wp.pl można uzyskać: Zadania Zadanie 1 (7 pkt) Przygotuj aplikację, która w oparciu o dane zgromadzone w bazie SQLite będzie wyświetlała na ekranie jakiś opis miejsca w jakim w danym momencie znajduje się użytkownik telefonu (dane z GPS). Poziom dopasowania (odległość do punktu z bazy danych) ustala użytkownik. Proszę przygotować bazę z kilkoma różnymi lokalizacjami. Zadanie 2 (10 pkt) Rozbuduj program z zadania nr 1 tak aby aplikacja na Android współpracowała z serwisem www (napisanym np. w PHP). Współpraca polegać ma na tym, iż w przypadku, gdy punkt w którym znajduje się w danym momencie urządzanie, nie ma opisu w bazie danych, to aplikacja pobiera te dane z serwera (HTTP), uzupełnia swoją bazę danych i ostatecznie wyświetla opis użytkownikowi. Oczywiście aplikacja pobiera z serwera tylko dane dotyczące konkretnego punktu. Zadanie 3 (15 pkt) 1. Podobnie jak w zadaniu z listy 5 proszę dokonać szczegółowej analizy, opisać oraz "spolszczyć" przykład dodany jako załącznik (przykład jest "w oryginale" pobrany ze strony autora: http://kvenkataprasad.blogspot.com/2015/01/xml-parser-example-using-dom-and-

sax.html) - przykład pobiera z serwera zewnętrznego plik XML, a następnie wyświetla zgromadzone tam dane. Realizuje to w oparciu o analizę DOM lub bazując na SAX. 2. W oparciu o powyższy przykład należy zrealizować aplikację, która umożliwi podanie nazwy miasta a następnie w oparciu o usługę http://openweathermap.org/current wygeneruje informację o aktualnej pogodzie w tym mieście (należy się zarejestrować i wygenerować klucz API). Należy zadbać o oprawę graficzną aplikacji.