Naucz się programowania na platformę Android-praktyczne warsztaty w maju!

Naucz się programowania na platformę Android-praktyczne warsztaty w maju!

17-19.05.2017/Warszawa
Koszt udziału: 2350 zl netto
Prowadzący: Sylwek Madej

Dzień 1

Skąd czerpać informacje
szczypta historii
rozwój Androida i wersje systemu
Android w liczbach
cechy rynku i środowiska
fragmentacja – zrozumienie zjawiska
podstawowe sposoby radzenia sobie z fragmentacją
podstawowe wzorce projektowe interfejsu użytkownika

Architektura systemu 2h

warstwy abstrakcji systemu
wirtualna maszyna Dalvik
elementy i frameworki dostępne dla programistów

Narzędzia programistyczne 1h

Android SDK – zawartość i przydatne narzędzia
Android Developer Tools Bundle vs. Android Studio Bundle
rodzaje emulatorów i różnice pomiędzy nimi
proces budowania od plików źródłowych do paczki APK

Hello Android – eksperymenty z Activity

podstawy Android Studio
struktura projektu
podstawowe komponenty aplikacji i komunikacja pomiędzy nimi
AndroidManifest.xml – funkcja i zawartość pliku
mechanizm uprawnień w Android –
wprowadzenie do Activity
cykl życia Activity
deklarowanie Activity w manifeście
sposoby uruchamiania Activity
proceduralne tworzenie widoków (z kodu Java)
deklaratywne tworzenie widoków (z plików layoutów w XML)
rodzaje zasobów graficznych i ładowanie w zależności od cech urządzenia
odwoływanie się do zasobów w kodzie XML i Java
korzystanie z edytora graficznego do tworzenia Layoutów
używanie widoków z XML w kodzie Java
obsługa akcji na komponentach – mechanizm Listenerów
zapisywanie i odtwarzanie stanu Activity

Dzień 2

TodoEkspert – pierwsza prawdziwa aplikacja od zera do publikacji

brief aplikacji i projekt architektury
implementacja Activity logowania – LinearLayout, selektory na przyciskach, walidacja i wyświetlanie błędów
AsyncTask – wykonywanie operacji w tle, informowanie o postępie
implementacja Activity z listą zadań – ActionBar i akcje, tworzenie dialogów z pytaniami
implementacja Activity dodawania nowego zadani – RelativeLayout, przekazywanie danych pomiędzy aktywnościami: startActivityForResult, Serializable vs. Parcelable
ćwiczenie: AsyncTask, ActionBar, walidacja

Komunikacja HTTP

połączenia z wykorzystaniem HTTPUrlConnection i parsowanie wyników do JSONObject
zapisywanie danych w SharedPreferences
klasa Application i przechowywanie obiektów przez czas życia aplikacji
ListView i Adapter – wyświetlanie listy zadań pobranych z serwera

Dzień 3

Baza danych SQLite i implementacja prostego DAO

co warto wiedzieć o SQLite – bazie danych wbudowanej w Androida
implementacja DAO – klasy SQLiteOpenHelper i SQLiteDatabase
kursory i SimpleCursorAdapter – wyświetlanie listy prosto z bazy danych

Synchronizacja danych w tle

wykonywanie operacji w tle – klasy Service i IntentService
cykl życia serwisów
informowanie użytkownika z wykorzystaniem mechanizmu notyfikacji
BroadcastReceiver i sendBroadcast() – komunikacja pomiędzy komponentami aplikacji
tworzenie statycznych i dynamicznych BroadcastReceiver-ów

Udostępnianie danych pomiędzy aplikacjami

ContentProvider i ContentResolver – mechanizm udostępniania danych na zewnątrz aplikacji
implementacja własnego Providera udostępniającego listę zadań
asynchroniczne ładowanie danych z wykorzystaniem mechanizmu Loaderów

Publikacja aplikacji w Google Play

przygotowanie paczki release i generowanie certyfikatów release
Proguard – minimalizacja i zabezpieczanie plików APK
Dex2Jar – sposoby wyciągania kodu źródłowego opublikowanej aplikacji
dodatkowe materiały potrzebne do publikacji aplikacji
publikacja aplikacji – kanał produkcyjny i testy z użyciem kanałów Alpha i Beta