This is a mobile application for smartphones that helps users improve their English vocabulary. The app is made as part of a series of lab assignments for the Android programming course in the Tomsk State University and was designed to support Android 8.0 and newer versions.
Figma design avilable here
- Core Features (Lab 1)
- Enhanced Features (Lab 2)
- Learning & Testing Features (Lab 3)
- Getting Started
- Development
- License
- Acknowledgments
- Contacts
- Introduces app features via swipeable screens or a "Next" button.
- Includes a "Skip" option to bypass onboarding.
-
Allows users to sign up by filling required fields.
-
Validates input and shows error dialogs for incorrect data.
-
Supports password visibility toggle.
-
Enables word searches with real-time API requests.
-
Displays results in a RecyclerView.
-
Shows a placeholder if no word is found.
-
Includes audio playback for pronunciation.
-
Loads the British Council’s "Video Zone" page in a WebView.
-
Restricts navigation to this domain only.
- Triggers API requests when users tap the search icon.
- Dynamically updates results in RecyclerView.
- Plays pronunciation audio when the sound icon is clicked.
- Saves words & definitions to device storage via "Add to Dictionary" button.
- If offline, searches locally saved words instead of fetching from API.
-
Displays error dialogs for:
- Failed API requests.
- No internet connection.
API Used:
https://api.dictionaryapi.dev/api/v2/entries/en/[word]
(Example: .../en/cooking fetches "cooking" definition.)
- Tests users on saved dictionary words.
- Tracks learning speed coefficient per word:
- +1 for correct answers.
- -1 for incorrect answers.
- Prioritizes words with the lowest coefficients in tests.
- Shows a prompt if no words are saved: "Add words to dictionary first."
- Displays the total count of bookmarked words.
- Starts a 5-second countdown (+1s for "Go!") upon clicking "Start".
- Animates a color-changing circle synced with the timer.
- After countdown, launches the question screen.
- Selects up to 10 words with the lowest learning coefficients.
- Adjusts to fewer words if the saved list is small.
To run the app on your Android device, follow these steps:
- Clone the repository to your local machine.
- Open the project in Android Studio.
- Build and run the app on your Android device or emulator with Android 8.0 or newer.
This project is licensed under the MIT License.
I would like to thank the British Council for providing their video resources for language learning. Also, huge thanks to meetDeveloper for providing freeDictionaryAPI
For any inquiries or issues, please contact me at astyd256@yandex.ru






