Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English Vocabulary App (University Android Course Project)

Thumbnail-1

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

Table of Contents

Thumbnail

Core Features (Lab 1)

1. Launch Screen

  • Displays a centered logo upon app startup.

    Splash-screen

2. Onboarding Flow

  • Introduces app features via swipeable screens or a "Next" button.
  • Includes a "Skip" option to bypass onboarding.

3. User Registration & Validation

  • Allows users to sign up by filling required fields.

  • Validates input and shows error dialogs for incorrect data.

  • Supports password visibility toggle.

    Sign-up

4. Dictionary Lookup

  • 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.

    Dictionary

5. Video Content Viewer

  • Loads the British Council’s "Video Zone" page in a WebView.

  • Restricts navigation to this domain only.

    Video

Enhanced Features (Lab 2)

1. Advanced Dictionary Search

  • Triggers API requests when users tap the search icon.
  • Dynamically updates results in RecyclerView.

2. Word Audio Playback

  • Plays pronunciation audio when the sound icon is clicked.

3. Word Bookmarking (Offline Saving)

  • Saves words & definitions to device storage via "Add to Dictionary" button.

4. Offline Mode Support

  • If offline, searches locally saved words instead of fetching from API.

5. Error Handling

  • 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.)

Learning & Testing Features (Lab 3)

Training Test-Question Training-Finish

1. Interactive Learning Screen

  • Tests users on saved dictionary words.

2. Adaptive Learning Algorithm

  • Tracks learning speed coefficient per word:
    • +1 for correct answers.
    • -1 for incorrect answers.
  • Prioritizes words with the lowest coefficients in tests.

3. Empty State Handling

  • Shows a prompt if no words are saved: "Add words to dictionary first."

4. Saved Word Counter

  • Displays the total count of bookmarked words.

5. Test Session Setup

  • 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.

6. Smart Test Selection

  • Selects up to 10 words with the lowest learning coefficients.
  • Adjusts to fewer words if the saved list is small.

Getting Started

To run the app on your Android device, follow these steps:

  1. Clone the repository to your local machine.
  2. Open the project in Android Studio.
  3. Build and run the app on your Android device or emulator with Android 8.0 or newer.

License

This project is licensed under the MIT License.

Acknowledgments

I would like to thank the British Council for providing their video resources for language learning. Also, huge thanks to meetDeveloper for providing freeDictionaryAPI

Contacts

For any inquiries or issues, please contact me at astyd256@yandex.ru

About

An android app for learning English language using freeDictionaryAPI

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages