Android w przeglądarce
Aplikacja mobilna to stały element części praktycznej egzaminu INF.04, a na lekcji zwykle oznacza kilkugigabajtowe Android Studio i emulator, który na szkolnym komputerze startuje kilka minut. W BitWizards cały projekt jest w karcie przeglądarki: layout activity_main.xml z edytorem jak w Android Studio, logika w MainActivity.java i telefon, na którym aplikacja działa od razu po kliknięciu Uruchom.
Kurs: aplikacje mobilne krok po kroku - pierwsza lekcja
Edytor layoutu: Kod, Podział i Projekt
Layout edytujesz tak jak w Android Studio, w trzech trybach:
- Kod - plik XML z kolorowaniem składni,
- Projekt - paleta kontrolek (TextView, Button, EditText, CheckBox, RadioGroup, Switch, SeekBar, Spinner, ListView, ImageView i układy), drzewo komponentów i panel atrybutów; kontrolki przeciągasz na telefon,
- Podział - kod i projekt obok siebie: zaznaczenie widoku przenosi kursor w kodzie i odwrotnie.
Każda zmiana w projekcie to zwykła edycja tekstu XML, więc formatowanie i komentarze zostają, a Cofnij obejmuje kod i projekt naraz. Obsługiwane są LinearLayout z wagami, FrameLayout, ScrollView, TableLayout i ConstraintLayout, domyślny układ nowego projektu: ograniczenia do rodzica i sąsiadów, bias, wymiar 0dp i łańcuchy, a w trybie Projekt uchwyty ograniczeń na krawędziach zaznaczonego widoku. Błąd w XML pokazuje numer linii, a ostrzeżenia (brak wymiaru, powtórzone id) wyglądają jak w Android Studio.
Logika w Javie
MainActivity.java to prawdziwa klasa aktywności: onCreate, setContentView, findViewById, setOnClickListener z lambdą albo klasą anonimową, Toast, ArrayAdapter, słuchacze CheckBox, RadioGroup, SeekBar i list, atrybut android:onClick i zasoby R.string, R.drawable, R.array. Kod sprawdza mój autorski silnik Javy, ten sam co w kursie Javy, więc błędy kompilacji wyglądają jak w javac. Wyjątek w trakcie działania kończy się jak na telefonie: aplikacja zostaje zatrzymana, a Logcat pokazuje stos wywołań i podpowiedź, co poszło nie tak (na przykład NumberFormatException przy pustym polu liczbowym).
Kurs krok po kroku
Aplikacje mobilne: Android krok po kroku (10 tematów, 56 przykładów i zadań) prowadzi od pierwszego napisu do zadań w stylu arkusza:
- Pierwszy ekran: TextView i atrybuty
- rozmiar, kolor i wyrównanie tekstu, zasoby
strings.xml.
- rozmiar, kolor i wyrównanie tekstu, zasoby
- Układy: LinearLayout i ConstraintLayout
- wagi, formularz logowania, przycisk przypięty do rogu ekranu.
- Kliknięcie przycisku
findViewById,setOnClickListener,Toast, atrybutonClick.
- Dane od użytkownika: EditText
- tekst i liczby z pól, walidacja pustego pola.
- Licznik i kalkulator
- stan w polach klasy, kalkulator czterech działań, przelicznik temperatury.
- CheckBox, RadioGroup i Switch
- regulamin, cena pizzy, pokazywanie i ukrywanie widoków.
- SeekBar: suwak
- głośność, napiwek, ograniczenie prędkości.
- Listy: Spinner i ListView
- lista rozwijana z zasobu,
ArrayAdapter, lista zakupów.
- lista rozwijana z zasobu,
- Obrazy: ImageView
- obrazki z zasobów, dzień i noc, galeria.
- Projekt w stylu egzaminu INF.04
- kalkulator BMI, zapisy na zajęcia, zamówienie kawy.
Treści są moje, napisane pod układ arkuszy, a nie przepisane z nich. Tematy są powiązane z punktami podstawy programowej dla liceum i technikum.
Sprawdzanie jak test Espresso
Zadanie z aplikacją mobilną ma dwie części reguły:
- kontrolki layoutu - typ, id i atrybuty (na przykład
EditTextz idpasswordiinputType="textPassword"), opcjonalnie w podanej kolejności, - scenariusze - kroki na działającej aplikacji: wpisz tekst, kliknij, zaznacz, przesuń suwak, wybierz pozycję listy, a potem oczekuj tekstu widoku, komunikatu Toast, widoczności albo obrazka.
Sprawdzanie biegnie po każdym Uruchom, a każdy scenariusz startuje aplikację od nowa. Niezaliczony warunek ma opis po polsku: który krok, czego oczekiwano i co pokazała aplikacja.
Dla nauczyciela
- Własne zadania: aplikacja startowa (layout, kod,
strings.xml) i kreator reguły z próbą na rozwiązaniu wzorcowym; kontrolki do sprawdzenia można przejąć z layoutu wzorca jednym kliknięciem. - Historia pracy ucznia z zakładkami plików i podgląd na żywo w trakcie lekcji, jak w innych zadaniach.
- Egzaminy próbne z limitem czasu i sygnałami przełączania kart.
Ograniczenia
Uczciwie o tym, czego nie ma: Kotlin, wiele aktywności i Intent, fragmenty, RecyclerView, sieć, baza Room i uprawnienia. ConstraintLayout jest uproszczony (typowe układy z arkuszy wyglądają jak w Android Studio, rzadkie przypadki solvera nie). Obrazki pochodzą z wbudowanego zestawu, bez własnych plików w zadaniu.
Powiązane strony
Egzamin INF.04 - Java - SQLite