Menu

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