Aplikacje mobilne: Android krok po kroku
Aplikacje na Androida w Javie, od pierwszego napisu na ekranie do zadań w stylu egzaminu INF.04: widoki i atrybuty, układy LinearLayout i ConstraintLayout, kliknięcia i komunikaty Toast, pola tekstowe z walidacją, licznik i kalkulator, CheckBox, RadioGroup, Switch i SeekBar, listy z adapterem, obrazki oraz projekty jak z arkusza. Layout edytujesz w trybach Kod, Podział i Projekt (z przeciąganiem kontrolek jak w Android Studio), MainActivity.java w edytorze kodu, a aplikacja działa na telefonie w przeglądarce, bez emulatora i instalacji. Zadania sprawdzają kontrolki layoutu i klikają aplikację jak test Espresso.
Dla kogo: Technikum: aplikacje mobilne na Androida w Javie pod INF.04, layout z przeciąganiem i telefon w przeglądarce. Więcej o kursie
Pierwszy ekran: TextView i atrybuty
Wygląd ekranu aplikacji opisuje plik activity_main.xml. Każdy element to widok (View) z atrybutami android:..., a napis na ekranie to TextView. W tym temacie piszesz pierwsze widoki, ustawiasz rozmiar, kolor i wyrównanie tekstu oraz przenosisz napisy do pliku strings.xml, jak w Android Studio.
Układy: LinearLayout i ConstraintLayout
Układ (layout) decyduje, gdzie stoją widoki. LinearLayout ustawia je w kolumnie albo w wierszu, wagi dzielą wolne miejsce, a ConstraintLayout, domyślny układ nowego projektu w Android Studio, przypina widoki do krawędzi ekranu i do sąsiadów.
Kliknięcie przycisku: findViewById i Toast
Logika aplikacji mieszka w pliku MainActivity.java. Metoda onCreate wczytuje layout, findViewById podaje widok o danym id, a setOnClickListener mówi, co zrobić po kliknięciu: zmienić napis albo pokazać krótki komunikat Toast.
Dane od użytkownika: EditText
Pole EditText przyjmuje tekst od użytkownika. getText().toString() zamienia jego zawartość na String, Integer.parseInt na liczbę, a przed obliczeniami warto sprawdzić, czy pole nie jest puste, bo inaczej aplikacja się zamknie.
Licznik i kalkulator
Aplikacja pamięta stan w polach klasy aktywności: licznik kliknięć przeżywa kolejne kliknięcia, bo nie jest zmienną lokalną. Kalkulator łączy wszystko z poprzednich tematów: pola liczbowe, kilka przycisków, obliczenia i ochronę przed błędem.
CheckBox, RadioGroup i Switch
Pole wyboru (CheckBox) i przełącznik (Switch) mają stan zaznaczony albo nie, a przyciski RadioButton w grupie RadioGroup pozwalają wybrać jedną opcję z kilku. Stan odczytujesz po kliknięciu przycisku albo od razu, w słuchaczu zmiany.
SeekBar: suwak
Suwak SeekBar pozwala wybrać liczbę od 0 do wartości android:max. Słuchacz OnSeekBarChangeListener ma trzy metody, a najważniejsza, onProgressChanged, dostaje nowe położenie suwaka przy każdym ruchu.
Listy: Spinner i ListView z adapterem
Lista rozwijana Spinner i lista ListView pokazują wiele pozycji. Dane mogą pochodzić z tablicy w strings.xml (android:entries) albo z kodu: wtedy łączy je z widokiem adapter ArrayAdapter, który odświeża listę po dodaniu nowej pozycji.
Obrazy: ImageView
Obrazki aplikacji leżą w folderze res/drawable, a pokazuje je widok ImageView. W tym kursie każda aplikacja ma gotowe obrazki: sun, moon, cloud, rain, snow, star, heart, apple, flower i house. Obrazek ustawiasz w XML atrybutem android:src albo w kodzie metodą setImageResource.
Projekt w stylu egzaminu INF.04
Zadania na egzaminie INF.04 łączą wszystko naraz: układ z kilkoma kontrolkami, odczyt danych, walidację, obliczenia i komunikaty. W tym temacie budujesz całe małe aplikacje według opisu, tak jak w arkuszu: najpierw layout, potem logika.