CSCI 448 - Mobile Application Development (Android)

Spring 2021

|   Home   |   Syllabus  |   Assignments  |   Schedule  |   Resources    |

UITableView (Connor Barnes)

A1: This is Jeopardy!

For this assignment, I had to create a quiz app that allowed the user to answer different questions. I had to implement three different types of questions: multiple choice, true/false, and fill-in the blank. I decided to theme my questions around the Swift programming language. To implement the three different types of questions, I created three data classes that were derived from a custom abstract base class. I placed the views that were common among all question types directly in the activity's layout, and I placed the other views into three different fragments, one per question type.

A2: Global Thermonuclear War

For this assignment, I had to implement a simple game with a welcome screen, history screen, preference screen, and of course the game screen. I decided to implement Tic-Tac-Toe. Instead of using O's and X's, I decided to use Apple and Android logos, and called my game "Mobile Wars". Each screen had its own fragment, with the preferences screen using PrefereceFragmentCompat. For the layout, I used LinearLayouts within a ConstraintLayout to make rows of columns.

A3: WeathrTrackr

For this assignment, I had to implement an app to save location and weather data at the user's location and display the data on a map and table. The navigation for the application was placed in a drawer. The weather information was obtained by using OpenWeather's API and JSON decoding on the user's device. A snackbar was added for showing date and weather information when clicking a marker on the map. The snackbar had an option to delete that checkin. The history table supported swipe to delete.

A4: Sensor & Sensorbility

For this assignment, I had to create a game using 2D graphics that was driven by sensor data. For my game, I decided to make the classic brick breaker app. The player's movement is controlled by data from the accelerometer, so that rotating the device moves the player. I also incorporated the light sensor, which changes the color of objects in the game based on the ambient light levels.