CS 213 Fall 2018: Android Project
Chess OR Photos OR RYO (Roll Your Own)
Posted Mon, Nov 19
Due Thu Dec 13, 11 PM in BitBucket
Worth 200 points (20% of course grade)
You will continue working in pairs. If you choose to roll your own project, you must get approval from your
grader ‐ see the RYO section at the bottom of this page.
You MUST use Git/Bitbucket to manage your repository. Your app MUST run correcty on the Nexus 4 (4.7 inch,
768×1280, xhdpi) device emulator that comes with Android Studio. Make sure your app runs on Android API
Level 28 (Android 9.0 ‐ Pie) We will test only for this level. (If you have issues with this, check with your
grader.)
You may serialize the data used in your app, but are not required to do so ‐ you can use alternative formats for
storage on the device.
Photos
You are not required to carry over all the functionality from the Java FX implementation. Instead, you will
implement a smaller set, as described below. You may reuse any of the code from your Java FX project.
Since the app will run on a personal smart phone, there is only a single user, who is the owner of the phone. So
there is no logging in, and no admin functionality. Also, explicit captions are not required for photos (the
filename will stand for the caption). Dates are not required either.
Your app should implement the following features:
30 pts Home screen. When the app comes up, it should load album and photo data from the previous
session, if any, and list all albums with names in plain text. Off this “home” screen, you should be able to
do the following, in one or more navigational steps.
40 pts Open, create, delete, and rename albums as listed in the Java FX project description. When
opening an album, display all its photos, with their thumbnail images.
40 pts Once an album is open, you should be able to add, remove, or display a photo. The photo display
screen should include an option for a slideshow, allowing you to go backward or forward in the album
one photo at a time with manual controls.
20 pts When a photo is displayed, you should be able to add a tag to a photo. Only person and location
are valid tag types; there are no typeless tags. You should also be able to delete a tag from a photo.
Note: When displaying a photo, tags (if any) should be visible.
20 pts You should be able to move a photo from one album to another
50 pts You should be able to search for photos by tag (person and/or location), and matches should allow
completion. For instance, if a location “New” is typed, matches should include photos taken in New York,
New Mexico, New Zealand, etc. Note: You are not required to implement functionality to add new tag
types, or save the matching photos in an album.