CSCI 448 - Mobile Application Development

Spring 2016

Course Links: | Home | Syllabus | Assignments | Schedule | Resources |

C. Travis Johnson

Assignments

| Assignment 1 | Assignment 2 | Assignment 3 | Assignment 4 | Assignment 5|

Assignment 1: This is Jeopardy!

For this assignment, I augmented a basic True/False trivia game (that was created from Tutorials in the Android Programming: Big Nerd Ranch Guide) to include Multiple Choice and Free Response Questions as well as keeping score. This required independently modifying the entire MVC (Model-View-Controller) Stack.


Assignment 2: Global Thermonuclear War

For this assignment, I implemented a Tic-Tac-Toe game with three activities (Welcome, Options, and Gameplay). The Welcome and Options activities are simply menus which allow you to set options for the game (how many players, who will play first, clearing the score tallies) or start a new game. The Game play activity presents a 3x3 grid of clickable ImageButtons which follow the standard rules of Tic-Tac-Toe. The state of the options and scores is communicated between the three activities with Intents, Extras, and Results. Additionally, Bundles are used to maintain the state of the options, scores, and game throughout the activities lifecycles to prevent the user(s) from cheating.


Assignment 3: Criminal Intent

This app makes use of lots of Fragments to maintain a list of crimes and their details. It provides a list-detail interface in landscape mode, and a list of crimes with the ability to page (swipe- as in 3rd screenshot) through detail views of the crimes. From the detail view, the user can record the date/time, possible suspect, solved state, and an image representing the crime. The user can also directly dial the number for the suspect to berate them, or send a formal report to any of their contacts with any plaintext messaging app they choose (e.g. messaging, email, etc.).


Assignment 4: Sensor and Sensorbility

This app makes use of the accelerometer and ambient light sensors to present a Breakout/Arkanoid game. The user moves the paddle with the accelerometer (by tilting the phone). The game objects and background are drawn based on the amount of ambient light the user is playing in (pictured: high light- left, low light- right). When the ball hits the bottom edge or when all of the bricks are destroyed: the game restarts.


Assignment 5: MapIt

This app makes use of Google Maps, Play Services (for location), a local SQLite database, and the REST API provided by OpenWeatherMap to keep a record of locations where the user has previously checked in as well as the weather at the time the user checked in to that location.