Android WYKŁAD 1. Kontakt Krzysztof Bzowski Tel B5 / 605

Slides:



Advertisements
Podobne prezentacje
1 Linux jako system wielozadaniowy i wielodostępny.
Advertisements

SCR 2008/2009 – informatyka rok 5. Edytor Wizualny - Agenda Przeznaczenie komponentu Funkcjonalność Opis działania.
Grafika komputerowa Wykład 2 Wykorzystanie podstawowych usług bibliotecznych (API) w operacjach graficznych.
Dokumentowanie wymagań w języku XML
Tworzenie prezentacji w programie PowerPoint
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Programowanie obiektowe. Obiekty. Metody. Właściwości.
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Panel sterowania.
ZESTAW KOMPUTEROWY.
ZASOBY KOMPUTERA I PRACA W SYSTEMIE OPERACYJNYM WINDOWS XP
C# Windows Forms Zastosowania Informatyki Wykład 2
Wstęp do programowania urządzeń z systemem. Windows Phone 7
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Instytut Tele- i Radiotechniczny WARSZAWA
Architektura Systemu Źródło:
Telefon przyjazny programistom JAVA – szybkie wprowadzenie
Podstawy programowania II
Wielozadaniowowść systemu operacyjnego Linux
Budowa systemu komputerowego
Android - wprowadzenie
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Licencjonowanie narzędzi dla programistów
Systemy operacyjne.
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
Narzędzia administracyjne
Maszyna wirtualna ang. virtual machine, VM.
Platforma analizy wizualnej - VisNow Szkolenie Platforma analizy wizualnej - VisNow Szkolenie 15 maja 2013, Sesja sprawozdawcza KDM Krzysztof S. Nowiński.
Na pasku komunikatów kliknij przycisk Włącz edytowanie,
Etapy uruchamiania systemu Pliki konfiguracyjne
Michał Gmerek, Krzysztof Słodowicz
Jak stworzyć dyplom w programie Word
Podstawy języka skryptów
JabTalk - instrukcja. Przyciski paska wypowiedzi – odtwarzanie i czyszczenie Pasek wypowiedzi – wyświetla wybrane symbole i pozwala na ich odtworzenie.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Formatowanie dokumentów
Sposoby zdalnego sterowania pulpitem
Android - cykl życia aplikacji, przykład prostej aplikacji
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Interaktywny Portal Informacyjny Uniwersytetu Warszawskiego Konferencja promująca projekt: Platforma usług elektronicznych Uniwersytetu Warszawskiego dla.
obsługa wyświetlacza graficznego
Dokumentacja programu komputerowego i etapy tworzenia programów.
Tworzenie wykresów część I
1 Co nowego w i-cut Suite i-cut Layout 14.0.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Wspomaganie edycji programu ● automatyczne wcięcia ● kolorowanie składni ● dopasowywanie nawiasów ● ukrywanie kodu ( Edit/Outlining ) – #region... #endregion.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Eclipse jako środowisko IDE do programowania w Javie Java IDE Bartosz.Michalik
Systemy operacyjne i sieci komputerowe DZIAŁ : Systemy operacyjne i sieci komputerowe Informatyka Zakres rozszerzony Zebrał i opracował : Maciej Belcarz.
Graficzny Interfejs Użytkownika
Instalacja klucza HASP.
Dominika Jasińska klasa 2C.
SMB – Pierwszy projekt Michail Mokkas.
AudaPad / AudaShare AudaShare PRO (2.8)
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Wprowadzenie do systemu Android
Wskaż wybrany krok lub kliknij Enter aby dowiedzieć się więcej.
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Android WYKŁAD 1

Kontakt Krzysztof Bzowski Tel B5 / 605

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 Historycznie…

Android Platforma/System operacyjny dla urządzeń mobilnych Android Open Source Project: 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) Dostosowanie systemu (jądro, uprawnienia administratora) Nie tylko telefony i tablety zegarkach, TV, Samochody,

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

Android – Co to jest? 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 Runtime – maszyny wirtualne (Dalvik/ART). Odpowiednik JRE. Dostarcza podstawowej funkcjonalności dla aplikacji androidowych. System Services – Usługi systemowe i medialne (wyszukiwarka, powiadomienia, nagrywanie i odtwarzanie dźwięku) Native libraries – biblioteki natywne androida, w większości linuksowe. Android (application) framework – Zbiór bibliotek i funkcjonalności do zastosowania w swoich programach. Korzystają z bibliotek natywnych Applications – Aplikacje użytkownika

Android API WersjaAPINazwaData 1.01Apple Pie Banana Bread Cupcake Donut – Eclair x8Froyo Gingerbread x10 3.x Honeycomb WersjaAPINazwaData 4.014Ice Cream Sandwitch x Jelly Bean x x x19KitKat x21Lollipop x Marshmallow Nougat ?

Android API Dane z r. Źródło:

Jak wybrać docelowe 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)

Wybór narzędzi Android SDK: Android NDK (dla aplikacji natywnych) – nie wymagane: JDK (Java Development Kit) 7 lub wyżej: Ś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 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:

Konfiguracja środowiska

Tworzenie Projektu

Nazwa projektu Nazwa (paczki) – unikalna w skali światowej (zwykle odwrócona domena). Lokalizacja plików projektu

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

Activity – podstawowa klasa obsługująca interakcje użytkownik- aplikacja. Każde "okno" aplikacji Android musi dziedziczyć po klasie Activity lub jej pochodnej (np. AppCompatActivity).

PLIKI PROJEKTU OPCJE PODGLĄDU PALETA KOMPONENTÓW GRAFICZNYCH STRUKTURA KOMPONENTÓW NA ACTIVITY PARAMETRY KOMPONENTÓW PODGLĄD WYGLĄDU EKRANU URUCHOMIENIE APLIKACJI 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

Uruchomienie aplikacji na emulatorze Zmiana orientacji: CTRL + F11 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 fizycznym urządzeniu Sterowniki zależą od producenta – w przypadku urządzeń z serii Nexus sterowniki zawarte są w Android SDK 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"

Uruchomienie aplikacji na fizycznym urządzeniu

WIDOCZNE ZMIENNE BREAKPOINT HISTORIA URUCHOMIONYCH METOD Kontynuuj Zatrzymanie debugowania Lista breakpointów Dezaktywacja wszystkich breakpointów Pauza programu 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 URUCHOM DEBUGUJ Debugowanie aplikacji

Zarządzanie projektem Kody źródłowe - Klasy JAVY Zasoby (ikonki, grafiki, layouty itd) Skrypty budowy programu Gradle Konfiguracja proguard (obfuskacja, optymalizacja kodu) Manifest aplikacji (nazwa, komponenty, uprawnienia, min. API) om/guide/topics/manifest/ manifest-intro.html

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

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

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

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

Designer

XML Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Składa się z: tagów (elementów) atrybutów przypisanych do tagów (elementów) <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> Cechy Każdy element mieć tylko jednego rodzica Każdy element może mieć dowolną ilość potomków XML Schema deklaruje możliwe nazwy tagów i atrybutów oraz ich umiejscowienie względem siebie Kolejność atrybutów w tagu nie ma znaczenia

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

Podpięcie metody pod zdarzenie Najechać kursorem myszy nad nazwę metody ALT+ENTER // Miejsce na kod metody

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…