Na warsztatach dowiesz się:
- Jak wygląda rynek aplikacji Androida i co z tego wynika?
- Jak skonfigurować srodowisko i na czym testować aplikacje?
- Ile ikon może mieć aplikacja? (Ciekawostka: może być nawet i 0)
- Dlaczego warto korzystać z mechanizmu zasobów?
- Czy da się korzystać z bazy SQLite bez pisania SQL?
- Kto jest najlepszym twórcą bibliotek na Androida?
- Co stanie się z fragmentem, gdy ekran zostanie obrócony?
- Kiedy metoda getActivity(), w fragmencie może zwrócić null?
- Jak zrealizować wzorzec Master/Detail na tablecie i smartfonie?
- Jak wyświetlić obrazek posiadając URL do niego?
- Jakie problemy stwarza CardView poniżej API 21?
- Dlaczego Material Design to przełom w wyglądzie aplikacji?
- Czy testy w Espresso są warte zachodu?
Koszt: 1970 zl + 23% vat
*zapytaj o cenę dla dawców szpiku
Dzień 1:
1. Wprowadzenie
- 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
2. Architektura systemu
- warstwy abstrakcji systemu
- wirtualna maszyna Dalvik
- elementy i frameworki dostępne dla programistów
3. Narzędzia programistyczne
- Android SDK - zawartość i przydatne narzędzia
- Android Studio Bundle
- rodzaje emulatorów i różnice pomiędzy nimi
- proces budowania od plików źródłowych do paczki APK
4. 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:
5. 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
- biblioteki ButterKnife i Dagger 2 - wstrzykiwanie zależności
6. 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:
7. 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
8. 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
9. 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
10. 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
Miejsce: Warszawa
Termin: 24-26.11.2015
Kontakt w sprawie udziału w warsztatach:
Lidia Wysocka
791 288 078