Agenda. Wprowadzenie do Androida



Podobne dokumenty
Kontakt. Krzysztof Bzowski Tel B5 / 605

Kontakt. Krzysztof Bzowski Tel B5 / 605

Android - wprowadzenie. Łukasz Przywarty

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

Programowanie aplikacji mobilnych

Czym jest Android Architektura systemu Cechy platformy Android

Programowanie dla Androida. Ubiquitous

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

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

Google Android. Opracował Maciej Ciurlik

Systemy operacyjne na platformach mobilnych

WPROWADZENIE DO JĘZYKA JAVA

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

Systemy operacyjne na platformach mobilnych

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

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Laboratorium Systemów Mobilnych. Wykład 1

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

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

OpenGL Embedded Systems

JDK 7u25 NetBeans Zajęcia 1 strona - 1

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Programowanie Systemów Czasu Rzeczywistego

Tworzenie aplikacji na platformie Android

Programowanie obiektowe zastosowanie języka Java SE

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

Wprowadzenie do środowiska Qt Creator

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Podstawy języka Java. przygotował:

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

Tomasz Greszata - Koszalin

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

Programowanie procesora Microblaze w środowisku SDK

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

Systemy operacyjne na platformach mobilnych

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

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

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

Mobilne aplikacje multimedialne

SOP System Obsługi Parkingów

Java jako język programowania

Załącznik 1 instrukcje instalacji

Tworzenie oprogramowania

akademia androida Pierwsze kroki w Androidzie część I

Programowanie niskopoziomowe

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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.

Załącznik 1 instrukcje instalacji

Laboratorium - Instalacja Virtual PC

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

Wprowadzenie do App Inventor

Instrukcja instalacji oprogramowania dla środowiska Windows

Programowanie w Javie

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Podręcznik szybkiej instalacji Android Mirror JUC600

Systemy operacyjne dla telefonów komórkowych i urządzeń typu smartphone

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Dokumentacja fillup - MS SQL

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

Aktualizacja Firmware >>> Android Jelly Bean >>> wersja 1

podstawowa obsługa panelu administracyjnego

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

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

Aktualizacja Firmware >>> Android Kit Kat

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Instalacja Wirtualnego Serwera Egzaminacyjnego

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

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

TAB9-200 XENTA 97ic 9.7 TABLET ANDROID JELLY BEAN - INSTRUKCJA AKTUALIZACJI

Projektowanie z użyciem procesora programowego Nios II

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

Wstp do programowania BlackBerry w jzyku C++ na platformie Mac OS

INSTRUKCJA INSTALACJI URZĄDZENIA

Instalacja aplikacji

HP Designjet Partner Link. Instrukcje

podstawowa obsługa panelu administracyjnego

Paragon HFS+ for Windows

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Instrukcja instalacji BMW INPA do interfejsu BMW USB VIAKEN

Android, wprowadzenie do SDK

Android tworzenie aplikacji mobilnych

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak.

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak

Tworzenie aplikacji w języku Java

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

Instrukcja obsługi Kamery IP

Instalacja SAS Forecast Studio for Desktop 12.1

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

ochrona w systemie operacyjnym

Przetwarzanie danych w chmurze

Instrukcja instalacji oprogramowania dla środowiska Linux

Silent setup SAS Enterprise Guide (v 3.x)

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 CZĘŚĆ PRAKTYCZNA

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1

CENTRALNA KOMISJA EGZAMINACYJNA

Transkrypt:

Android WYKŁAD 1

Agenda Wprowadzenie do Androida Czym jest android Czy warto się nim interesować? Jak zbudowany jest android Dalvik i ART maszyny wirtualne Android API Narzędzia Android Studio Wprowadzenie Konfiguracja Stworzenie pierwszej aplikacji Uruchomienie aplikacji na emulatorze i fizycznym urządzeniu Debugowanie

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/

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?

Dalvik i ART PC Android Problem różnych procesorów i architektur AMR, x86 (rezygnacja z kompilacji do kodu niskopoziomowego) Każdy nowy proces uruchamia instancę VM (sandboxing) Dalvik: JVM dla środowisk z małą ilością RAM, flash i słabymi CPU Obecny w androidzie od wersji 1.0 JIT (just-in-time) funkcje programu kompilowane w locie podczas uruchomienia i działania aplikacji Możliwe przerwy w działaniu aplikacji (tzw. lagi) ART (Android RunTime): Obecny od Androida 4.4 (domyślny od 5.0) AOT (ahead-of-time) funkcje programu kompilowane podczas instalacji Dłuższa instalacji oprogramowania Teoretycznie dłuższe działania baterii i mniejsze użycie CPU Skuteczne zarządzanie pamięcią (GC) Wybrana VM nie jest odczuwalna dla developerów Kod źródłowy JAVY Bytecode Javy Java VM (JRE) Kompilator Javy Kod źródłowy JAVY Bytecode Javy Bytecode Davika Kompilator Javy Kompilator Dex Dalvik EXecutable Dalvik VM

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? M (Muffin, Milky Way, M&M?) Maj 2015?

Które Android API dla mojej aplikacji? Dane z 4.05.2015r Ź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 (tak by się uruchomiła)? 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 obiektowości 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

Konfiguracja środowiska

Tworzenie Projektu

Nazwa projektu Nazwa firmy (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 ACTIVITY STRUKTURA KOMPONENTÓW NA ACTIVITY PARAMETRY KOMPONENTÓ BŁĘDY / WIADOMOŚCI / OSTRZEŻENIA / INFORMACJE

Uruchomienie aplikacji

NAZWA MASZYNY WIRTUALNEJ

Podgląd dostępnych Maszyn Wirtualnych AVD (Android Virtual Devices) Tools -> Android -> AVD Manager

Skalowanie emulatora (1) Emulator działa w rozdzielczości natywnej telefonu, czyli np. 1080x1920 więc nie zmieści się na monitorze

Skalowanie emulatora (2)

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.)

Zarządzanie projektem Poszukiwanie klas/refencji/pliku SHIFT+SHIFT

Zarządzenie projektem numeracja linii File -> Settings

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

Zarządzanie projektem Resources (zasoby) Tworzenie nowych zasobów tu spisu kolorów. Prawy klawisz myszy na folderze res, New, Android resource file Małe litery, bez spacji i PL znaków Rozszerzenie xml

Zarządzanie projektem Resources (zasoby)

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