CSCI 448 - Mobile Application Development

Spring 2016 - Assignment 3 - Criminal Intent

|   Home |  Syllabus |  Assignments |  Schedule |  Resources   |
This assignment is due by February 29, 2016 by 2:59pm.

For this assignment, you will create the fully functioning Criminal Intent app. By the end, you will be able to log a crime, choose whodunit, and create the report to solve the crime.

When you create this project, set the domain to include <userName_A3> and name the app <userName>_A3 where userName is your name.


Part I - Select the Crime's Date


Complete Chapter 12 in BNR to add the Date Picker Dialog. Regardless if we are running the app from a phone or a tablet, we want the Date Picker to appear in a Dialog so the crime details remain visible (but not in the foreground).

For Extra Credit, complete the Challenge #1 to add a Time Picker Dialog.


Part II - Pretty It Up


Since we want this to be a well polished app, there are a few other pieces we'll need to add in. Complete Chapter 13 Challenge #3 to add a new view if there are no crimes. Theis view should display a message and have a button to create a new crime.

The existing image we are able to see is quite small. Complete Chapter 16 Challenge #1 to add a Dialog that displays a larger view of the image. There should only be one button to close the dialog.

For Extra Credit, complete Chapter 15 Challenge #2 to call the suspect. To receive credit for this challenge, the proper permissions must be set for this app to run on Android 6 (Marshmallow). To get the contact's phone number, you will need to query some additional tables.


Part III - The Side-by-Side Layout


Finally, everything we have been working towards - BNR Chapter 17. We are going to create a two-pane layout that will display the Crime List and the Crime Details side by side. The book has you set it up to have a different layout for a tablet device. We are going to modify it so the two-pane layout is our landscape view.

You need to make sure that the Delete Crime button works as expected in both portrait and landscape mode (hint: it won't work initially in landscape mode).

Additionally, since a user could rotate the phone between portrait and landscape mode we need to add in one protection. If a user is viewing a crime in landscape mode, we will see three buttons on our menu:
  1. New Crime
  2. Show Subtitle
  3. Delete Crime
If the user then rotates to portrait mode we will see the crime list again (this is OK!) BUT we will still see the Delete Crime button in this view. The Delete Crime button should go away and we would only see two buttons.


Part IV - Website!


Update the webpage that you submitted with Assignment2 to include an entry for this assignment. As usual, include a screenshot (or two) and a brief description of the program, intended to showcase what your program does to people who are not familiar with the assignment.


Documentation


With this and all future assignments, you are expeced to appropriately document your code. This includes writing comments in your source code - remember that your comments should explain what a piece of code is supposed to do and why; don't just re-write what the code says in plain English. Comments serve the dual purpose of explaining your code to someone unfamiliar with it and assisting in debugging. If you know what a piece of code is supposed to be doing, you can figure out where it's going awry more easily.

Proper documentation also means including a README.txt file with your submission. In your submission folder, always include a file called README.txt that lists:
  • Your Name / email
  • Assignment Number / Project Title
  • A brief, high level description of what the program is / does
  • A usage section, explaining how to run the program, which keys perform which actions, etc.
  • Instructions on compiling your code
  • Notes about bugs, implementation details, etc. if necessary


Grading Rubric


Your submission will be graded according to the following rubric.

PercentageRequirement Description
10%Lab05 completed.
10%Lab06 completed.
10%DatePickerDialog added.
10%No Crimes Exist, Add a Crime added. Chapter 13 Challenge #3.
10%Image Dialog added. Chapter 16 Challenge #1.
20%Two-Pane Layout presented in Landscape orientation.
15%Delete Crime Button works properly in Landscape orientation.
5%Delete Crime Button does not appear when rotating back to Portrait orientation.
5%Source Code is documented with appropriate Javadoc style comments.
5%Submission includes source code, Android Studio project, and README.txt. Webpage named <userName>.html submitted and updated with screenshot from latest assignment. Submission compiles and executes.
+5%TimePickerDialog added. Chapter 12 Challenge #1
+10%Call Suspect Intent added. Chapter 15 Challenge #2


Submission


Please make sure your project produces an executable with the name userName_A3. When you are completed with the assignment, zip together your Android Studio project (which includes the Java and XML source code), README.txt, and www/ folder. Name the zip file, userName_A3.zip. Upload this file to Blackboard under A3.

This assignment is due by February 29, 2016 by 2:59pm.

Last Updated: 01/01/70 00:00


Valid HTML 4.01 Strict Valid CSS! Level Triple-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0