Individual Academic Project
Role:
Tools:
Creator - Computer Programming & Design
Android Studio - Java & XML
Date:
Fall 2021
Cura was created for a mobile computing class with the objective of creating an Android application, which would explore different functionalities, design patterns, UI design, sensor interaction and hardware features. I chose to create an application, Cura, that would act as a personal companion, and provide them with functionality to create location-based reminders, to-do lists, and receive personal alerts based on weather conditions and users actions. It was intended to make tasks more efficient by providing these functionalities in one app, and to simulate the feeling of a caregiver as not everyone has someone to remind them of little tasks and self care.
To begin, I used a tablet to sketch the intended navigation for my application in figure 1. From here I could code the layout of each screen, and add basic functionality to move throughout the app. I then split up the remaining functionalities into individual problems to tackle.
Figure 1: Sketch of layout and navigation of the application
Figure 2: Sketch for the layout of the home screen and reminder interfaces
One of the more interesting functions I created was location-based reminders, which is sketched out in figure 2 To accomplish this, I created an interface with buttons for the user to create a new reminder with a task name, and a button to choose a location, shown in Figure 3 and 4.
Figure 3: Screen to add a new reminder
Figure 4: Screen where the user can fill in details of reminder
Figure 5: Screen where the user can search for their reminder's location
Figure 6: Screenshot of section of Java code in Android Studio used to compare the user's location to the location of the reminder
Next as shown in figure 5 I used a google API (allows a program to use the features or data of another) to display a map where the user could search a location and save it. Finally, I figured out how to calculate the distance between two locations to send the user a notification when they were close.
A particular challenge I faced in the creation of Cura was based around checking the users current location and how it compared to the location of their reminder. The method I originally used to accomplish this task was part of the challenge, for it was more complicated than necessary. Exploring more efficient methods through resources on the internet with similar functionalities was essential to overcoming this, which is illustrated in figure 6. I found temporarily separating this functionality from the rest of my app was a very effective means to test these different solutions, for it enabled me to work unhindered by other parts. Throughout the creation of this application, I learned the basics of Android development with the programming languages Java and XML, how to use APIs, and different methods to store and retrieve data in an app.