CSCI 448 - Mobile Application Development (Android)

Spring 2021

|   Home   |   Syllabus  |   Assignments  |   Schedule  |   Resources    |

Miles Allain



x17miles_A4



The goal of this project was to create a simulation or game that makes use of a phone's sensors. For mine project, I created a version of the game teeter (an old game that came standard on most Android phones). Playing the game is simple, you move your device to control where the ball goes, as if the ball were on top of the phone, rolling around the surface. This feature makes use of the accelerometer, moving the ball according to how gravity should affect it. Another thing you will notice in this project is that the screen can change colors based on your environment. Bright environments will cause the app to use a light theme, and dark environments the dark theme. This was achieved by using the phone's ambient light sensor (switching on a threshold of 10 units).


I enjoyed working on the project. I think that it wasn't as difficult as many of the previous ones have been because we also had a lab that was very close to a completed version of this (DragNDraw), which I used as a starter for this project. Something that I thought was fairly creative was my method of creating the Holes (both the good one, in green, and the bad one, in red). I used a class to store the data, and for painting them, I changed the paint style of a circle to stroke (and that was all I had to do). I think that this is a fun app because after the first round, the holes change to a random position.



KotlinQuiz



This project was focused on creating a simple quizing application. My goal was to make an app that allows for multiple different types of questions, allows a user to answer each question once, and maintains the state of which questions have been answered and what the score is despite device changes.


I was able to save a lot of time and stress for the multiple question types task by including all of the layout information in the same xml file. When the question type would change, I would just switch which part of the layout was 'visible' and which part was 'gone'.