Kontakt. Krzysztof Bzowski Tel. +12 6172615 B5 / 605

Podobne dokumenty
Kontakt. Krzysztof Bzowski Tel B5 / 605

Agenda. Wprowadzenie do Androida

Android - wprowadzenie. Łukasz Przywarty

Programowanie dla Androida. Ubiquitous

Programowanie aplikacji mobilnych

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

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

Czym jest Android Architektura systemu Cechy platformy Android

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Laboratorium Systemów Mobilnych. Wykład 1

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

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

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

Systemy operacyjne na platformach mobilnych

Android tworzenie aplikacji mobilnych

Instalujemy środowisko. Hello World! Odczyt/zapis informacji do komponentów na formie. onclick()

Tworzenie aplikacji na platformie Android

Systemy operacyjne na platformach mobilnych

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

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

Programowanie w Javie

JDK 7u25 NetBeans Zajęcia 1 strona - 1

OpenGL Embedded Systems

SOP System Obsługi Parkingów

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Systemy operacyjne na platformach mobilnych

akademia androida Pierwsze kroki w Androidzie część I

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

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

etrader Pekao Podręcznik użytkownika Jak zacząć pracę z etrader Pekao?

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ I. JAK ZACZĄĆ PRACĘ Z ETRADER PEKAO? SPIS TREŚCI

Google Android. Opracował Maciej Ciurlik

Czym jest MIT App Inventor. App Inventor jest to zbiór bloków jako język programowania używany do tworzenia mobilnych aplikacji na androida.

Wprowadzenie do App Inventor

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

WIĘCEJ NIŻ TELEFON! CZĘŚĆ PIERWSZA - WPROWADZENIE

Android, wprowadzenie do SDK

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

Mobilne aplikacje multimedialne

WPROWADZENIE DO JĘZYKA JAVA

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Instrukcja instalacji oprogramowania dla środowiska Windows

Programowanie Systemów Czasu Rzeczywistego

Instalacja aplikacji

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

INSTRUKCJA AKTUALIZACJI PRZEGLĄDARKI. Wersja dokumentu 1.0

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Załącznik 1 instrukcje instalacji

Instrukcja użytkownika Dell Display Manager

Wprowadzenie do środowiska Qt Creator

Programowanie procesora Microblaze w środowisku SDK

I2: J2ME programowanie w NetBeans IDE Wydział Transportu PW semestr /11

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

Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej

Laboratorium - Instalacja Virtual PC

Sposoby zdalnego sterowania pulpitem

Instalacja NOD32 Remote Administrator

1.Wstęp. 2.Generowanie systemu w EDK

Wprowadzenie i konfiguracja programu Pierwsze kroki w programie do tworzenia aplikacji mobilny App Inventor

protected void onsaveinstancestate(bundle outstate); protected void onrestoreinstancestate(bundle savedinstancestate);

Laboratorium 8 ( Android -pierwsza aplikacja)

Załącznik 1 instrukcje instalacji

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Dlaczego Android? Uczę się Javy więc piszę.. w Androidzie. Nie mam telefonu z Androidem!

Podstawy technologii cyfrowej i komputerów

Instrukcja obsługi Kamery IP

INSTRUKCJA KORZYSTANIA Z APLIKACJI

WEBCON BPS Instalacja Standalone

1 Opis interfejsu użytkownika

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Instrukcja obsługi programu. BlazeVideo HDTV Player v6

1. Opis. 2. Wymagania sprzętowe:

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

INSTRUKCJA UŻYTKOWNIKA

Instrukcja instalacji Asystenta Hotline

Paragon HFS+ for Windows

Podręcznik szybkiej instalacji Android Mirror JUC600

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

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Instalacja i podstawowa konfiguracja aplikacji ImageManager

Xesar. Pierwsze kroki

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

4.10 Odtwarzanie multimediów

gdmss Lite Android DVR Mobile Client Instrukcja obsługi oprogramowania

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

INSTRUKCJA INSTALACJI URZĄDZENIA

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

5. Wyświetli nam się spis treści oraz lista rozdziałów. Aby wejść w podgląd podręcznika, należy wybrać interesujący nas rozdział oraz kliknąć w napis

Technologie internetowe w programowaniu.

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Ustawienia personalne

Przetwarzanie danych w chmurze

Dell Display Manager podręcznik użytkownika

Transkrypt:

Android WYKŁAD 1

Kontakt Krzysztof Bzowski kbzowski@agh.edu.pl Tel. +12 6172615 B5 / 605 http://home.agh.edu.pl/~kbzowski/

Agenda Wprowadzenie Mobilne systemy operacyjne Czym jest android? Android API Android Studio Emulator Uruchamianie i debugowanie Elementy aplikacji Android Pierwsza aplikacja

Systemy mobilne Główni gracze Wielcy przegrani

Android Platforma/System operacyjny dla urządzeń mobilnych (nie tylko telefonów/tabletów) Opensource: https://source.android.com/ Duże możliwości modyfikacji systemu (Cyanogen Mod, Android Open Kang Project, Paranoid i inne) Duże możliwości modyfikacji UI (HTC Sense, Samsung TouchWiz i inne) Możliwość podmiany jądra systemu (Franco, ElementalX i inne) Prostota uzyskania uprawnień administratora (root) w porównaniu do innych systemów Obecnie spotykany też w: zegarkach, http://www.android.com/wear/ TV, http://www.android.com/tv/ a nawet w samochodach, http://www.android.com/auto/

Różnorodność w Androidzie Android Open Kang Project

Android jest wszędzie Honda's Connect NVIDIA SHIELD Samsung T900 Smartwatche Samsung WW9000

Czy warto się interesować Androidem? Źródło: http://marketingland.com/reportsmartphones-reach-nearly-77-percent-penetrationin-us-124906

Applications Aplikacje użytkownika Android (application) framework Zbiór bibliotek i funkcjonalności do zastosowania w swoich programach. Korzystają z bibliotek natywnych Native libraries biblioteki natywne androida, w większości linuksowe. System Services Usługi systemowe i medialne (wyszukiwarka, powiadomienia, nagrywanie i odtwarzanie dźwięku) Android Runtime maszyny wirtualne (Dalvik/ART). Odpowiednik JRE. Dostarcza podstawowej funkcjonalności dla aplikacji androidowych. HAL Hardware Abstraction Layer interfejs pomiędzy systemem operacyjnym a sterownikami sprzętowymi. Kernel jądro systemu bazujące na jądrze Linux z dodatkowymi mechanizmami przeznaczonymi dla mobilnych platform wbudowanych + sterowniki Android Co to jest?

Android API? Wersja API Nazwa Data 1.0 1 Apple Pie 23.09.2008 1.1 2 Banana Bread 9.02.2009 1.5 3 Cupcake 3.04.2009 1.6 4 Donut 15.09.2009 2.0 2.1 5-7 Eclair 26.10.2009 2.2.x 8 Froyo 20.05.2010 2.3 9 Gingerbread 6.12.2010 2.3.x 10 3.x 11-13 Honeycomb 24.01.2011 Wersja API Nazwa Data 4.0 14 Ice Cream Sandwitch 19.10.2011 4.0.x 15 16.12.2011 4.1.2 16 27.06.2012 4.2.x 17 Jelly Bean 13.11.2012 4.3.x 18 24.07.2013 4.4.x 19 KitKat 31.10.2013 5.0.x 21 Lollipop 3.11.2014 5.1.x 22 9.03.2015 6 23 Marshmallow 5.10.2015 6.1 24? N (Nutella, nut bread, nougat)? Czerwiec 2016?

Android API Dane z 19.02.2016r Źródło: https://developer.android.com/about/dashboards/index.html

Jak wybrać Android API? Jaki jest cel mojej aplikacji / jak docelowo będzie ona wyglądać? Np. Calendar Provider API (pozwalający na odczyt, zapis, ustawienie powiadomień itd) dostępny od API 14 (Android 4.0) Np. Material Design API od API 21 (Android 5.0) Zależność od zewnętrznych bibliotek Np. LibGDX wymaga minimum API 8 (Android 2.2.x) minsdkversion którą wersję API wystarczy dla mojej aplikacji (wymóg dla systemu operacyjnego)? targetsdkversion jaka jest najwyższa wersja API dla której aplikacja jest zoptymalizowana/przetestowana? Informacja tylko dla systemu w celu zachowania wstecznej kompatybilności. Możliwość sprawdzenia API na etapie Runtime (uruchomienia aplikacji) i wyłączenia części z jej funkcjonalności.

Wybór narzędzi Android SDK: https://developer.android.com/sdk/index.html#other Android NDK (dla aplikacji natywnych) nie wymagane: https://developer.android.com/tools/sdk/ndk/index.html JDK (Java Development Kit) 7 lub wyżej: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Środowisko programistyczne (IDE) Android Studio (zawiera SDK) oficjalne IDE od Google bazujące na IntelliJ IDEA zapewnia zawsze pełne wsparcie najnowszych wersji Androida Eclipse z Android Development Tools (ADT) oficjalnie niewspierane przez google IntelliJ IDEA Netbeans (NBAndroid) Emulator Android (Dostarczony z SDK) Fizyczne urządzenie do testowania Telefon lub tablet Potrzebna wiedza Podstawy JAVY i programowania obiektowego Podstawy XML Eclipse ADT Android Studio

Uwagi na temat emulatora Ilość pamięci RAM > 4GB Intel Hardware Accelerated Execution Manager (HAXM) Przyspiesza działanie emulatora systemu Android Instaluje się wraz z Android Studio (SDK) Do działania wymaga włączonego w BIOSie Intel Virtualization Technology (Intel-VT) Wspierane większość procesorów od I generacji tj. Intel i3, i5, i7 Lista wspieranych procesorów: http://ark.intel.com/products/virtualizationtechnology

Konfiguracja środowiska

Tworzenie Projektu

Nazwa projektu Nazwa (paczki) unikalna w skali świata Lokalizacja plików projektu

Wybór API Minimalne API obsłużone przez Aplikacje

URUCHOMIENIE APLIKACJI OPCJE PODGLĄDU PLIKI PROJEKTU PALETA KOMPONENTÓW PODGLĄD WYGLĄDU EKRANU STRUKTURA KOMPONENTÓW NA ACTIVITY PARAMETRY KOMPONENTÓW PRZEJŚCIE MIĘDZY TRYBEM GRAFICZNYM A TEKSOWYM

LOGCAT Miejsce wyświetlania błędów

Uruchomienie aplikacji

Konfiguracja emulatora

Konfiguracja nowego emulatora ABI (Application binary interface) musi być ustawione na x86 aby emulator wspierał wirtualizację Można posiadać wiele emulatorów z różnymi wersjami systemu ANDROID

Konfiguracja nowego emulatora

Emulator może pozostać otwarty w trakcie tworzenia aplikacji Można posiadać dowolną ilość równolegle uruchomionych maszyn wirtualnych dla różnych urządzeń Uruchomienie aplikacji na emulatorze Zmiana orientacji: CTRL + F11

Uruchomienie aplikacji na fizycznym urządzeniu Aby podłączyć urządzenie (telefon/tablet) do android Studio należy aktywować opcje programistyczne na urządzeniu. Ustawienia telefonu -> Informacje o Telefonie 7 razy kliknąć "Numer kompilacji" Pojawi się napis "Jesteś teraz programistą" Opcje programistyczne będą dostępne w menu Ustawień telefonu Włączyć "Debugowanie USB" w opcjach programistycznych Potwierdzić odcisk (fingerprint) podłączonego komputera Włączyć "Pozostaw ekran włączony" Sterowniki zależą od producenta w przypadku urządzeń z serii Nexus sterowniki zawarte są w Android SDK

Uruchomienie aplikacji na fizycznym urządzeniu

Debugowanie aplikacji URUCHOM DEBUGUJ BREAKPOINT Kontynuuj Pauza programu Zatrzymanie debugowania Lista breakpointów Dezaktywacja wszystkich breakpointów HISTORIA URUCHOMIONYCH METOD WIDOCZNE ZMIENNE Show Execution Point (Alt+F10) przejdź do aktualnie wykonywanej linii kodu Step Over (F8) - Przejdź do następnej linijki Step Into (F7) - Wejdź do funkcji (programisty) Force Step Into (ALT+SHIFT+F7) - Wejdź do dowolnej funkcji (w tym SDK) Step Out (SHIFT+F8) wyjdź z funkcji Drop frame Run To Cursor (ALT+F9) wykonuj kod do pozycji kursora

Zarządzanie projektem Sources - Klasy JAVY Zasoby (ikonki, grafiki, layouty itd) Pliki projektu (wg. typu) Skrypty budowy programu Gradle Konfiguracja proguard (obfuskacja, optymalizacja kodu) Struktura projektu (struktura katalogów na dysku) Główny plik meta danych aplikacji (wersja app, min SDK, target SDK, zależnoścni itp.)

Klasa R Reprezentacja zasobów aplikacji Klasa R jest generowana automatycznie z zasobów (layoutów, ikonek, itd.) dlatego nie wolno jej zmieniać ręcznie

Zarządzanie projektem manifest.xml package globalny, unikatowy identyfikator aplikacji (musi odpowiadać nazwie w skryptach budowy i fizycznemu katalogowi) SHIFT+F6 pozwoli na zmianę jej nazwy Ikonka, styl, nazwa aplikacji Główne Activity Aplikacji Pozwolenia

Pomoc w tworzeniu kodu - importy ALT+ENTER automatycznie zaimportuje paczkę lub otworzy menu pomocy

Podstawowe komponenty aplikacji Aktywności (Activities) An activity is a single, focused thing that the user can do. Pojedyncze okno aplikacji Usługi (Services) Działania wykonywane tle Odbiorcy (Broadcast Receivers) - komunikacja między OS a aplikacją Dostawcy (Content Providers) obsługa repozytoriów danych i baz danych Dodatkowe komponenty aplikacji Widoki (View) Elementy wyświetlane na ekranie (również komponenty wizualne pokroju przycisków/etykiet) Układy (Layouts) Jak zachowują się elementy na widoku i ich rozmieszczenie Intencje (Intents) Mechanizm komunikacji Zasoby (Resources) Wszystko co nie jest kodem JAVA (obrazki, pliki) Fragmenty (Fragments) Gotowe części interfejsu użytkownika

Pierwszy projekt - Activity 12 AppCompatActivity bazowa klasa dla większości aktywności z GUI 11 załadowanie widoku na ekran z zasobów

Pierwszy projekt - widok 2 Definicja układu 3-5 Przestrzenie nazw 6-7 Wymiary: match_parent wypełnia przestrzen rodzica wrap_content dopasowuje się do zawartości 8 Nie będzie zasłaniać okien systemowych jeśli true 9 Pena nazwa activity obsługująca widok 11 Uklad paska aplikacji 14 Styl 16 Pasek nawigacji 17 Identyfikator @+id/{nazwa} nowy identyfikator @id/{nazwa} istniejący identyfikator 18 -?attr Wartość zostanie wzięta z elementu stylu 25 Wpięcie fragmentu innego widoku 27 Pływający przycisk 31 Umiejscowienie w pionie: gravity wyrównanie w pionie zawartości layout_gravity wyrównanie w pionie względem rodzica 33 - Ikonka

Zasoby: \app\src\main\res\values colors.xml dimens.xml string.xml

Zasoby: \app\src\main\res\values styles.xml

Designer

Designer tryb tekstowy 19 Wyświetlany text 21 Zdarzenie po kliknięciu (zdefiniowane w Activity) 23 Margines 36 Umiejscowienie względem innego komponentu

Obsługa przycisku MainActivity.java 18 findviewbyid zwraca widok z danym ID. ID jest numerem pobranym z zasobów!

Jeśli coś nie działa