UAlingo
Aplikacja mobilna Android do nauki języka ukraińskiego — interaktywne quizy, gry słowne, memy edukacyjne i system autoryzacji Firebase. Duolingo-like experience w natywnym Javie.
Aplikacja w akcji
Nauka języka
przez zabawę
UAlingo to natywna aplikacja Android do nauki języka ukraińskiego, zbudowana w Javie z wykorzystaniem Firebase. Projekt był realizowany na Akademii Tarnowskiej jako kompleksowa aplikacja mobilna.
Inspirowana Duolingo — łączy quizy z timerem, gry słowne, memy z autentycznym językiem ukraińskim i system postępu, który motywuje do codziennej nauki.
Stack technologiczny
Jak to działa
Obsługa email/hasło oraz Google OAuth 2.0 przez Firebase Authentication. Po zalogowaniu sesja jest persystowana — użytkownik nie musi logować się przy każdym uruchomieniu.
mAuth.signInWithEmailAndPassword(
email, password)
.addOnCompleteListener(task -> {
if (task.isSuccessful())
startActivity(mainIntent);
});
CountDownTimer odlicza 60 sekund na każde pytanie. Po upływie czasu odpowiedzi są blokowane. Animacja kolorów ValueAnimator wizualizuje poprawną/błędną odpowiedź.
new CountDownTimer(60000, 1000) {
public void onTick(long ms) {
timerText.setText(
"" + ms / 1000);
}
public void onFinish() {
disableAnswers();
}
}.start();
ValueAnimator płynnie zmienia kolor tekstu odpowiedzi z białego na zielony (poprawna) lub czerwony (błędna) w czasie 500ms.
ValueAnimator anim =
ValueAnimator.ofObject(
new ArgbEvaluator(),
fromColor, toColor);
anim.setDuration(500);
anim.start();
Oddzielne Activities dla wersji ukraińskiej i angielskiej. Przycisk flagi w menu głównym startuje nową Activity z odpowiednim językiem.
flagBtn.setOnClickListener(v -> {
Intent i = new Intent(this,
EngActivity.class);
startActivity(i);
finish();
});
Interaktywna plansza z literami cyrylicy. Użytkownik zaznacza litery po kolei — po znalezieniu słowa licznik się zwiększa i słowo zostaje podświetlone.
// Znaleziono słów: 0 // GridView 7 kolumn × 6 wierszy // Litery: cyrylica ukraińska // Walidacja poziom/pion/ukos
Dolny pasek nawigacyjny z 3 ikonami (Dom, Gry, Profil) dostępny na każdym ekranie. Intent-based routing między wszystkimi 18 Activities.
// Bottom nav → 3 ikony // Dom → UkrActivity // Gry → WordSearchActivity // Profil → SettingsActivity
18 Activities
Jak uruchomić
git clone https://github.com/IlonaHrabovenko/Android.git cd Android
# Pobierz google-services.json z konsoli Firebase # Umieść plik w katalogu: app/ # Dodaj w strings.xml: <string name="default_web_client_id">YOUR_ID</string>
./gradlew assembleDebug
./gradlew installDebug # lub otwórz projekt w Android Studio i kliknij Run ▶