dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

Podobne dokumenty
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:

akademia androida Intencje oraz URI część III

Systemy operacyjne na platformach mobilnych

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

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Programowanie urządzeń mobilnych

Wykład 5: Klasy cz. 3

Aplikacje WWW - laboratorium

Połączenie aplikacji mobilnej z Facebookiem

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Wykład 8: klasy cz. 4

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Symfonia Mała Księgowość 2013 Specyfikacja zmian

Programowanie komputerowe. Zajęcia 7

Laboratorium 7 Blog: dodawanie i edycja wpisów

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Baza danych sql. 1. Wprowadzenie

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

akademia androida Service, BroadcastReceiver, ContentProvider część IV

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Włączanie/wyłączanie paska menu

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Agenda. Implicit intents Wyświetlanie obrazków Menu Ikona aplikacji Praca z kolekcjami i ListView Własny widok

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

6. Tworzenie nowego projektu

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Backend Administratora

Agenda. Activity cd Layouty Jednostki Dialogi LogCat Drugie Activity i Intents Serializacja Własne widoki Menu

Programowanie dla Androida. Ubiquitous

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Instrukcja obsługi. SWP Broadcast wersja android. System rozgłaszania lokalizacji SMS. Strona 1 z 11. ważna od wersji SWPB v1.4,

GEO-SYSTEM Sp. z o.o Warszawa, ul. Kubickiego 9/5, tel./fax ,

Ćwiczenie 1. Przygotowanie środowiska JAVA

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Lab 9 Podstawy Programowania

MenadŜer haseł Instrukcja uŝytkownika

Rozdział 4 KLASY, OBIEKTY, METODY

Wykład PASCAL - Pliki tekstowe

Wykład 7 Okna dialogowe, menu, pasek stanu itp.

Tworzenie menu i authoring w programie DVDStyler

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows XP

Informatyka II. Laboratorium Aplikacja okienkowa

5.2. Pierwsze kroki z bazami danych

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

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

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Klient poczty elektronicznej - Thunderbird

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

6.4. Efekty specjalne

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Programowanie aplikacji mobilnych

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

TEMAT : KLASY DZIEDZICZENIE

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie urządzeń mobilnych. projekt 6 ( )

System Symfonia e-dokumenty

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Windows 10 - Jak uruchomić system w trybie

Enterprise JavaBeans (EJB)

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Rys. 1. Brama przesuwna do wykonania na zajęciach

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Programowanie obiektowe

Fragmenty są wspierane od Androida 1.6

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Język C++ zajęcia nr 2

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Współpraca z platformą Emp@tia. dokumentacja techniczna

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Wywoływanie metod zdalnych

Podręczna pomoc Microsoft Power Point 2007

Serwery Statefull i Stateless

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Dodawanie stron do zakładek

Instrukcja InPro BMS Siemens FC700A InPro Professional 4.1

Powiadomienia w systemie Android

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Rysunek 1: Okno z lista

5.6.2 Laboratorium: Punkty przywracania

Wszystko o sitelinkach w Google AdWords No prawie wszystko ;)

Instrukcja użytkownika systemu S4

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

[Android] Podstawy programowania

5.4. Tworzymy formularze

bla bla Synchronizacja danych z usługą OX Drive podręcznik użytkownika

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Dodawanie stron do zakładek

Transkrypt:

dr Artur Bartoszewski 1

Intencje Intencje (obok Aktywności) są jednym z podstawowych komponentów z których zbudowane są aplikacje systemu Android. Są one odpowiedzialne przede wszystkim za obsługę rozkazów wydawanych przez użytkownika. Za pomocą intencji możemy wprowadzić komunikację pomiędzy aplikacjami (lub mniejszymi komponentami, jak usługi, aktywności itp.). Jednak najważniejszym zadaniem tego komponentu jest uruchamianie aplikacji lub aktywności. 2

Uruchamianie aktywności Jawne (explicit) w których wskazujemy obiekt, który chcemy stworzyć. W tym wypadku jednym z argumentów konstruktora Intencji jest obiekt typu Class wskazujący na klasę, której obiekt chcemy stworzyć. Na przykład: Intent intent = new Intent(context, MainActivity.class); Tak zdefiniowana intencja uruchomi aktywność MainActivity. 3

Uruchamianie aktywności Niejawne (implicit) w których zawarta jest informacje o tym co chcemy zrobić, bez podawania konkretnych klas, które mają to zrealizować. Najczęściej podawane są dwie informacje: co chcemy zrobić na jakich danych chcemy tą czynność wykonać. System, za pomocą Filtrów Intencji, (o których wspominaliśmy na 1 wykładzie) decyduje jaka Aktywność ma być uruchomiona. Na przykład: Intent = newintent ( Intent.ACTION_VIEW, Uri.parse("http://www.google.com") ); Informujemy system o tym, że chcemy zobaczyć dane (Intent.ACTION_VIEW) zapisane pod adresem URI 4

Przykład: Tworzymy aplikację, która zaprezentuje 5 różnych typów wykorzystania intencji do komunikacje pomiędzy aktywnościami 1. Otwieranie aktywności, 2. Przekazywanie danych do aktywności, 3. Odbieranie danych od aktywności; 4. Obsługa adresów WWW; 5. Obsługa adresów geouri 5

Przykład: Rozpoczynamy od dodania nowej aktywności. Uzyskujemy plik.java oraz powiązany z nim plik.xml 6

7

Przykład: W pliku activity_main.xml (startowa aktywność) dodajemy 5 komponentów <Button> Za pomocą findviewbyid( ) odnajdujemy uchwyty do nich. W naszym przykładzie nadałem im nazwy b1 ; b2 ; b3; b4 i b5 8

Przykład: Następnie stworzyłem funkcję dodajsłuchacza( ), w której dodałem słuchacze zdarzeń do każdego przycisku (b1, b2, b3, b4 i b5) 9

Przykład cz.1: Otwieranie aktywności W onclicklistener( ) przycisku b1 wywołuje metodę otworzaktywność( ), Można też kod otwierania umieścić bezpośrednio w słuchaczu (fragment kodu w komentarzu) 10

Przykład cz.1: Otwieranie aktywności Kod aktywności Main2Activity.java Może oczywiście robić co tylko zaprogramujemy - w tym przykładzie tylko zamyka się po kliknięciu 11

Przykład cz.1: Otwieranie aktywności Metoda otworzaktywnosc( ) zawiera dwa polecenia: Utworzenie nowej intencji jej konstruktor wywołujemy z dwoma parametrami this (kto utworzył) Main2Activity.class (nazwa aktywności, która ma być utworzona) startactivity( ) z nazwą intencji w parametrze uruchamia nam aktywność wskazaną w intencji. 12

Przykład cz.2: Otwieranie aktywności i przekazywanie danych Metoda otworzaktywnoscdane( ) zawiera trzy polecenia: Utworzenie nowej intencji jej konstruktor wywołujemy z dwoma parametrami: - -this (kto utworzył) - Main3Activity.class (nazwa aktywności, która ma być utworzona).putextra( ) z dwoma parametrami (łańcuchami ) nazwa zmiennej do przekazania oraz jej zawartość (może być użyte kilka razy); startactivity( ) z nazwą intencji w parametrze uruchamia nam aktywność wskazaną w intencji. 13

Przykład cz.2: Otwieranie aktywności i przekazywanie danych Odebranie przekazanych danych następuje a docelowej aktywności: 14

Przykład cz.3: Otwieranie aktywności i odbieranie z niej danych Metoda otworzaktywnosczodpowiedzia( ) zawiera 2 polecenia: Utworzenie nowej intencji jej konstruktor wywołujemy z dwoma parametrami: - -this (kto utworzył) Main4Activity.class (nazwa aktywności, która ma być utworzona) startactivityforresult( ) używamy nieco inne metody otwarcia aktywności Metoda startactivityforresult( ) przyjmuje jeszcze jeden argument. Jest nim identyfikator (liczba całkowita), na podstawie którego będzie można później stwierdzić skąd przyszła odpowiedź. U nas identyfikatorem jest stała klasy MainActivity: 15

Przykład cz.3: Otwieranie aktywności i odbieranie z niej danych Aby zinterpretować odpowiedź wywołanej aktywności należy (w aktywności wywołującej) przesłonić metodę systemową onactivityresult( ). Przyjmuje ona 3 argumenty: int requestcode liczba całkowita, na podstawie której możemy zidentyfikować która Aktywność zwróciła nam wynik (ta sama, którą ustawiliśmy w metodzie startactivityforresult() int resultcode liczba całkowita na podstawie której możemy określić stan wykonanej operacji (np. za pomocą stałych Activity.RESULT_OK lub Activity.RESULT_CANCELED). Intent data dane zwrócone z Aktywności. 16

Przykład cz.3: Otwieranie aktywności i odbieranie z niej danych W otwieranej aktywności (Main4Activity.java) przygotowujemy pole EditText o raz Button. Do Button-a dodajemy słuchacza, który uruchomi metodę przygotujodpowiedz( ) i zamknie aktywność. 17

Przykład cz.3: Otwieranie aktywności i odbieranie z niej danych Metoda przygotujodpowiedz( ) składa się z 3 elementów: Utworzenia obiektu Intent, który chcemy odesłać, Wpisania do niego danych za pomocą metod putextra( ), Ustawienia odpowiedzi za pomocą metody setresult(int resultcode, Intent data) Argumenty ustawiane w tej metodzie pokrywają się z argumentami metody onactivityresult( ) aktywności nadrzędnej. 18

Przykład cz.4: niejawne otwieranie aktywności - URL W poprzednich przykładach wskazywaliśmy, którą aktywność chcemy uruchomić. Możemy jednak także zdefiniować zadanie do wykonania, a wybór Aktywności, która je obsłuży pozostawić systemowi ( i nie musi być to aktywność nasze aplikacji) Do Intencji przekażemy jedynie akcję oraz dane, na których będziemy chcieli ją przeprowadzić. Akcją którą chcemy wykonać jest Intent.ACTION_VIEW czyli obejrzyj. Danymi, na których wykonamy akcję jest adres url (ogólniej adres URI) Takie wywołanie nie wymaga tworzenia nowej aktywności przeglądarka jest w standardzie 19

Przykład cz.5: niejawne otwieranie aktywności współrzędne geograficzne Innym typem danych URI, które mogą być obsłużone przez system jest geouri czyli współrzędne geograficzne Współrzędne należy przekonwertować na standardowe zmienną typu Uri za pomocą metody Uri.parse( ) Takie wywołanie również nie wymaga tworzenia nowej aktywności mapa Google też jest w standardzie 20

21

Literatura 22