WPI Computer Science Department

Computer Science Department
------------------------------------------

CS 528, Fall Semester 2017 Project 2: Exploring the Android Camera and Images, (10/100 of course grade)
Due date: Thursday, October 5, (by class time)!!


Overview

The aim of this project is to get you familiar with Android apps that use the Android Camera and Images. You should complete this project in your group (up to 3 students). The project covers a lot of ground because it is done by a group of 3 students. The GROUP will submit 1 project with all team members listed. You may discuss the projects with other classmates or on InstructAssist but each group will submit their own code for the project.


Project Preparation

The following preparatory steps might be useful.

Step 1: Learn how to run your apps on a real phone Thus far you have run all your programs on the Android Studio Emulator. The emulator has limitations when running programs that require the phone's camera. So you will need to run this project on a real phone. A good video to learn how to connect and use a real smartphone with Android Studio is located [ HERE ]

In order to run code on a real phone, you need to have USB drivers for your phone's model installed on the debugging PC (or zoolab PC). To learn how to install USB drivers on your home machine (and the zoolab) and how to run the examples in the textbook(s), go through the following tutorials. Note that on Nexus phones, you just need to install USB drivers (First link below). Other smartphone models may have to get their phones drivers from their manufacturer's website.



Step 2: Understand fragments, camera and databases: This project will explore fragments, taking pictures with the smartphone camera and saving them on the smartphone's storage, as well as storing information in a database. You will need to make sure you understand these concepts before starting coding. First review lecture slides 6, 7 and 8. You should also read through the following Google tutorials to ensure you understand these concepts:



Step 3: Download code for Chapter 16 (CriminalIntent) Download, and unzip the code for Chapter 16 of Android Nerd Ranch (2nd Edition) [ Here ] .



Step 4: Study the code for Chapter 16 of Android Nerd Ranch You will be required to extend and modify the code for chapter 16 for this project. Read chapters 7,14 and 16 of Android Nerd Ranch (2nd edition) and also study the code for Chapter 16. Run the code for chapter 16 on your phone and make sure you understand the code.



Step 5: Get Face Detection working: The following demo of the Mobile Vistion API from Google includes [ Face Detection ] as described in class. You can also access the code on Google's [ Mobile Vision Github site ] . You will be required to integrate face detection into this project. Download the code, run the examples on a real phone and study them. The code requires Android 5.0 (lollipop). Make sure you understand the code. You can also visit [ Google's Mobile Vision Page to ] understand more about this API and demo code.



Project Requirements


Step 6: Create a gallery view of more images per Crime: Currently, the app can only store one image per crime (in the top left corner). Taking a second image replaces the first image with the second. Make it possible to take more images to further document a crime but do not show these images on the main screen. After storing the first image taken in the top left corner of the main screen, store subsequent images in a database. To see these other images for this crime, you have to open up a gallery of these images in a second screen. Add a "Display gallery for this Crime" button at the bottom of the main screen. Clicking on this screen opens up the gallery of images for this crime. The gallery view should contain a 4 by 4 grid of images. If less than 16 images are taken display the images that have been taken row by row till the last image is dispayed.



Step 7: Add face detection: Add face detection for your project. Add a checkbox in the bottom of the main screen as shown. When checked, face detection is enabled and when unchecked, face detection is off. When Face detection is enabled, the rectangles for face detection are overlayed around ALL FACES IN ALL IMAGES (i.e.on the main screen as well as the gallery).





Step 8: Record session of running code on real phone You will submit both your Android Studio code including the APK (compliled Android program) and a video of you running the app on your phone. You will need to learn how to record a session of you running the app on your phone. Here's a good video on how to do Android screen capture [ Here ]


Submitting Your Work

Make sure to double-check that everything works before submitting. Create a zip file containing your Android studio folder AND MP4 Video (Captured session) files. Submit your zip file using [ InstructAssist ] . Do not email me your program or submit it via dropbox.

Before submitting MAKE SURE YOUR PROJECT'S APK FILE RUNS ON YOUR ANDROID PHONE Name your submitted zip file for your group as follows. List all last names in the submission using the convention LastName1_LastName2_LastName3.zip. Only one team member should submit each groups work.


[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]

mailto:emmanuel@cs.wpi.edu