/afs/cs.pitt.edu/usr0/skhattab/public/html/cs1699/index_files/image001.png

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