Agenda Podstawowego Kursu Androida - 3 dni

Celem szkolenia podstawowego jest dostarczenie minimalnej ilości wiedzy, potrzebnej aby stworzyć pierwszą prawdziwą aplikację. Omawiane tematy uwzględniają najpopularniejsze zagadnienia takie jak komunikacja HTTP, obsługa lokalnej bazy danych czy wyświetlanie danych w postaci listy.

Dzień 1

  1. Wprowadzenie 2h
  • 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
  1. Architektura systemu 2h
  • warstwy abstrakcji systemu
  • wirtualna maszyna Dalvik
  • elementy i frameworki dostępne dla programistów
  1. 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
  1. 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

  1. 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
  1. 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

  1. 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
  1. 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
  1. 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
  1. 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