Programowanie dla systemu Android – PSA
Czas trwania: 5-dniowe warsztaty
Adresaci szkolenia
Szkolenie przeznaczone jest dla programistów, projektantów, oraz inżynierów oprogramowania. Wymagana jest znajomość Java SE i Android przynajmniej w stopniu podstawowym.
W celu określenia poziomu grupy szkoleniowej, bardzo prosimy, przy zapisywaniu się na szkolenie, o udzielenie odpowiedzi na poniższe pytania:
Java SE, Android:
1 – nigdy nie programowałem
2 – nie programowałem na Android ale znam podstawy programowania
3 – znam podstawy, bo uczę się w domu i umiem napisać prosty kod
4 – używam w pracy na poziomie podstawowym
5 – używam w pracy na poziomie średniozaawansowanym w stosunku do zagadnień przedłożonych w szkoleniu
6 – używam w pracy na co dzień i biegle operuje w zagadnieniach przedłożonych w szkoleniu.
Dziękujemy!
Cel i korzyści ze szkolenia
Szkolenie pozwoli uczestnikom na wykorzystywanie potencjału aplikacji Android. Program kursu stanowi bardzo dobrą bazę do pełnej pracy z Androidem i do kontynuacji pogłębiania umiejętności programistycznych.
Program szkolenia opracowany jest przez profesjonalistów, praktyków. Ze względu na dynamikę zmian w systemie Google, program realizowany w trakcie szkolenia może nieco odbiegać od wskazanego. Staramy się, aby przekaz wiedzy odbywał się z uwzględnieniem aktualizacji systemu.
Program
Wprowadzenie do systemu Android
• System operacyjny Android
• Wersje systemu Android
• Oprogramowanie deweloperskie służące do pracy z aplikacjami dla systemu Android
• Android Software Development Kit (SDK)
• Android Studio
• Sposób publikacji i pobierania aplikacji z Google Play
• Projektowanie dla urządzeń mobilnych
• Projektowanie pod kątem interfejsów dotykowych
Projekt Androida w Android Studio
• Architektura i konfiguracja środowiska Android Studio
• Anatomia projektu Android – katalogi, pliki i ich znaczenie
• Język XML w projekcie Androida – znaczenie pliku Android Manifest
• Konfiguracja platformy Androida
• Kompilacja projektu i analiza błędu
Wzorce architektoniczne w aplikacjach Android
• Projekt oparty na MVC
• Projekt oparty na MVVM
• Komponenty architektoniczne
Komponenty Aplikacji Android – tu trzeba wprowadzić uczestników do tych podstawowych komponentów aplikacji android
• Activity
• Fragment
• Service
• Brodacst Receiver
• Content Provider
• Intent
• Android Manifest (Permissions)
Aktywności cyklu życia aplikacji androida
• Inicjowanie Aktywności,
• Zapisywanie stanu aktywności w Androidzie – onSaveInstanceState
• Tworzenie layoutów i podklas
• Użycie perspektyw w środowisku Android Studio
• Debuggowanie aplikacji Androida
Struktura nawigacji w aplikacjach Androida
• Komponenty nawigacji w systemie Android, aktywności i intencje
• Kontrolki nawigacyjne Androida
• Fragmenty i manager fragmentów w Aktywności
Tworzenie interfejsów użytkownika z layoutów i widżetów
• Przegląd widgetów – elementów layoutów z których budujemy layout
Tworzenie GridView dla wyświetlanych obrazów
• Atrybuty layoutu XML
• Użycie graficznych narzędzi do budowy Layoutu
• Wyświetlanie listy z ListFragment
• Użycie argumentów fragmentu
• Uruchomienie aktywności z fragmentu
• Operacje na fragmentach
Użycie Action Bar (Toolbar)
• Opcje menu
• Włączenie dziedziczonej nawigacji
• Alternatywna pozycja Menu
Zapis i otwieranie lokalnych danych (wprowadzenie do SQLite)
• O przechowywaniu danych w aplikacji android poza cyklem życia aplikacji / w trakcie życia aplikacji
• Przechowywanie działań i lokacji w bazie danych
• Zapytanie do bazy danych o listę działań
• Wyświetlania listy działań z użyciem CursorAdapter
• Tworzenie nowych działań
• Praca z istniejącymi działaniami’
• SharedPpreferences
• LiveData – tutaj też mogę wspomnieć o tym że Google dostarcza taki nowy komponent.
• Użycie plików tekstowych i systemowych
• Użycie źródeł danych XML
• Użycie Room
Menu kontekstowe i tryb działania kontekstowego
• Definicja zasobów menu kontekstowego
• Implementacja pływającego menu kontekstowego
• Implementacja zachowania menu kontekstowego
Viewfinder
• Tworzenie fragmentu Layoutu
• Użycie Camera API
Magazynowanie obrazów i wykonanych zdjęć
• Pobranie obrazu
• Aktualizacja modelu warstw
Intencje (Intents)
• Dodawanie przycisków
• Użycie ukrytych Intencji
• Intencje kontra interfejsy API aplikacji
Procesy asynchronicznie
• Ładowanie działań z listy
Dwu-okienkowe interfejsy Master-Details
• Tworzenie widoku Master-Details
Style i zawartości
• Użycie stylów w budowie Layoutu
Komunikacja sieciowa po HTTP oraz Loopers, Handlers i HandlerThread
• Użycie klienta REST natywnego oraz biblioteki
• Użycie bibliotek do obsługi wątków Worker Thread
• Pobieranie różnych obiektów
• Komunikacja z głównym wątkiem
• Użycie wątków w tle
• Wiadomości i ich ładowanie
Procesy szukania
• Pole dialogowe Search
• Tworzenie interfejsów dla wyszukiwarki
• Aktywności – użycie przycisków
• Implementacja algorytmów wyszukiania
• Tryby uruchamiania i nowe Intencje
Background Services
• Tworzenie IntentService
• Opóźnienie wykonania – AlarmManager
• Kontrolowanie Alarmu
• Powiadomienia (Notifications)
Broadcast Intents
• Inicjowanie przy uruchomieniu
• Filtrowanie w tle Powiadomienia (Notifications)
• Odbiorniki i zadania długotrwałe
Śledzenie lokalizacji urządzenia
• Lokalizacje i LocationManager
• Odbieranie aktualizacji Broadcast Location
• Aktualizacja UI przez Location Data
Mapy
• Pokazywanie lokacji użytkownika na mapie
• Dodawanie i użycie markera
Publikowanie aplikacji
• Google Play Console
• zagadnienia publikowania
• Google Play / Amazon/ Android Market