Programowanie Android-podstawy

About This Project

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

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

Category
android, Programowanie, Warsztatwy