An interactive Android quiz application that tests your knowledge of world flags! Built with Kotlin as part of the Mobile Software Development (CS325) course at MedTech during my Master's degree.
Flags Quiz Game is an educational and entertaining mobile application where users can test their knowledge of flags from around the world. The app presents flag images and challenges users to identify the correct country from multiple choice options.
- Interactive Quiz Interface: Clean and intuitive UI with visual feedback
- Multiple Choice Questions: Four options per question for engaging gameplay
- Progress Tracking: Visual progress bar and question counter
- Score Calculation: Track correct answers and view final results
- Visual Feedback: Color-coded answer validation (correct/incorrect)
- User Login: Personalized welcome screen before starting the quiz
- Result Screen: Displays final score with option to finish
- Launch the app and enter your name on the login screen
- Click "Start" to begin the quiz
- View the flag image and read the question
- Select one of the four country options
- Click "Submit" to confirm your answer
- Progress through all questions
- View your final score on the result screen
- Language: Kotlin
- Platform: Android
- Build System: Gradle (Kotlin DSL)
- UI: XML Layouts with View Binding
- Architecture: Activity-based with MVC pattern
- Min SDK: Android SDK (check
build.gradle.ktsfor specific version)
app/src/main/java/com/example/firstapplication/
├── Constants.kt # Quiz questions and app constants
├── LoginActivity.kt # Entry point with user login
├── MainActivity.kt # Main quiz logic and UI handling
├── Question.kt # Data class for quiz questions
└── ResultActivity.kt # Final score display
- Android Studio (Arctic Fox or later recommended)
- JDK 11 or higher
- Android SDK
- Gradle 7.0+
-
Clone the repository:
git clone https://github.com/emansarahafi/Flags-Quiz-Game.git
-
Open the project in Android Studio
-
Sync Gradle files
-
Run the app on an emulator or physical device
./gradlew build./gradlew test- Centralized question bank in
Constants.kt - Easy to add/modify questions
- Support for flag images as drawable resources
- Custom option borders (default, selected, correct, wrong)
- Progress indicators
- Responsive layouts
- Custom fonts (Poppins Bold & SemiBold)
- Light and dark mode support
- Material Design components
- Consistent color scheme
Key configuration files:
build.gradle.kts: Dependencies and build configurationAndroidManifest.xml: App permissions and activitiesres/values/strings.xml: String resourcesres/values/colors.xml: Color palette
This project is licensed under the terms specified in the LICENSE file.
- Developed as part of CS325 - Mobile Software Development course at MedTech
- Flag images and educational content