Talking Picture List
The Talking Picture List app allows the user to associate a text description with each image in
the phone's mediastore, and have that text spoken while viewing the image.
The app must have an SQLite database (using the Room abstraction) that has entries that hold
MediaStore image _IDs and the images' descriptive texts.
The app starts by selecting a random song from the phone's audio library and playing it in
looping mode.
While the music is playing a list of the images' micro-thumbnails and their descriptive texts is
shown on the screen.
When the user clicks on an element of the list the song is paused, and
- If the image has an entry in the database then the descriptive text is spoken, and a dialog
is raised showing the full size image.
The dialog has a "Dismiss" button to close the dialog.
- If the image does not have an entry in the database the a new activity is started to show
the image while the user enters descriptive text.
Before the activity ends the database is updated.
When the dialog is dismissed or the activity returns, the speaking is stopped (if it is still
going) and the song is resumed.
If the database was updated in the new activity, the list view is updated.
Use best coding practices for all aspects of the code, including a nice icon!
Extra Credit
An extra 4% is available by adding a further feature to the app.
In addition to the descriptive text, a recorded voice description of the image is also be stored
in the database as a byte[].
Each list element has a checkbox indicating whether or not a recording has been attached to the
image.
When an image's dialog is raised, first the descriptive text (if any) is spoken, then (if there
is a recording) a short silent pause and the recording are played.
The editing activity contains controls to record a voice description for the image.
My TalkingPictureList.apk.
This outline might make your life easier.
Submission and Grading
The app is due by the start of class on 28th November.
You must submit a .zip or .tar.gz or any other compressed archive containing your entire project
directory for TicTacToc, plus a .apk, via Blackboard.
You can submit the project as many times as you want on Blackboard until the due time.
Vraj or I will sit with each of you and run the app to grade it's execution.
Vraj will grade the source code according to usual standards for Java coding, acording to
this marking scheme.
Your project is worth 20% of the course grade.
Please review the policies on assessment in the administration document.