CS 1699 Special Topics in Computer Science (Section 1115) Introduction to Android Programming Spring 2018 |
Assignment 2 - Android Trivia Game version 2.0
Deadline: Monday 3/19 @ 11:59pm
Submission instructions: Submit a single zip file containing your code and resources to CourseWeb. To package your code as a single ZIP file, you may select the menu option File -> Export to Zip File in AndroidStudio.
Required Knowledge: This assignment requires knowledge of:
Threading techniques in Android
Notification-area notifications, dialogs, and alarms
Intents and Broadcast receivers
Local (SQLite) and remote (Firebase) databases
User authentication
Using the camera
Using Text-to-Speech
Activities and GUI widgets.
In the second assignment, we will extend the Trivia game app that we built in the first assignment with the following features:
1. Our game will be a multi-player, online game.
2. Each player has to sign in into the game. The player profile includes a photo that can be captured using the device camera.
3. The Start activity includes a switch that is when set the questions and answers are read using the text-to-speech service.
4. The set of terms and definitions are stored in a remote database as well as the player scores. The score history and best score of each player are stored. Also, the Top Ten players (over all players) and their scores are stored.
5. The Add Term activity should be implemented using an appropriate Dialog with a custom view.
6. Players are notified when the Top Ten scores are changed.
7. A local copy of the terms and definitions is stored in a local SQLite database.
8. When new terms are added by other players, the local database is synchronized on a separate thread. You may use any of the threading techniques for this part. When the thread is done, it notifies an activity using the Broadcast Receivers mechanism. The activity in turn notifies the user using a notification-area notification.
Hints:
1. These instructions on preparing your development environment may be useful.
2. Your submissions will graded using the following setup: Android Studio 3.0.1 with the following Virtual Device: Nexus 6P API 26 (1440 x 2560: 560dpi; All other configurations remain default).