Cura

graphic of spiral drawing in background

Android Mobile Application

image of mobile app home screen

Individual Academic Project

Role:

Tools:

Creator - Computer Programming & Design

Android Studio - Java & XML

Date:

Fall 2021

Design Goals

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.

Process

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.

image of sketches of potential app user flow and layout image of potential designs for several app screens

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.

image of first screen for process of adding reminders in the app image of screen for process of adding reminders in the app image map to choose location for the reminder

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

image of snipet of code showing how location difference was calculated

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.

Challenges and Reflection

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.