Simple StopWatch
StopWatch by Developer Austin.

This was my first actual published application for the Android Play Store and I loved the process! My goal for this project was to create a simple application and to try to learn as much as possible.
I used Android O to create and release so it is not available to everyone.
Download Page: https://play.google.com/store/apps/details?id=com.amsuarez.stopwatch
Application Design
Layout

For this application, I used the constraint layout, Chronometer, ListView, and two Buttons. I went with a listview since it is easy to set constraints regardless of the device size. The chronometer seemed like a logical choice over Date since it had methods for starting and stopping. The start and stop buttons I placed at the bottom and placed colors so that it is easy to discern the differences at a glance.
Code
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Chronometer;
import android.os.SystemClock;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Chronometer stopwatch;
private List<String> timeList;
private ListView timeElapsedList;
private boolean timerStart = false;
private ArrayAdapter<String> listAdapter;
private int lapCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
//sets up layout
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// setting stopwatch to chronometer
stopwatch = findViewById(R.id.timeElapsed);
//setting up listview
timeList = new ArrayList<String>();
timeElapsedList = (ListView) findViewById(R.id.timeListView);
listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, timeList);
// DataBind ListView with items from ArrayAdapter
timeElapsedList.setAdapter(listAdapter);
}
public void startButton(View view) {
// resets the start time
stopwatch.setBase(SystemClock.elapsedRealtime());
// starts the chronometer
stopwatch.start();
timerStart = true;
}
public void stopButton(View view) {
stopwatch.stop();
// if the start was pressed prior then stop process begins
if (timerStart) {
lapCount++;
timeList.add("Lap " + lapCount + ": " +stopwatch.getText().toString());
listAdapter.notifyDataSetChanged();
stopwatch.setBase(SystemClock.elapsedRealtime());
timerStart = false;
}
}
This was the first time I used the chronometer, I was originally going to use a Date variable but soon ran into some trouble. Using a Date variable I could measure the exact time elapsed; however, creating a visual transition of the time elapsed on the UI was difficult. I then picked the chronometer and my code was able to slim down since the methods the widget had been just what I needed.
Porting to the Store:
This was fairly easy to launch to the market since it did not use location or any other information from the user. In the future, I would like dive deeper into the Beta and Alpha testing processes in the Play Console.
Conclusion:
It was a fun simple project and I am definitely excited to do more projects like this!
If you are reading this and have any suggestions please message or comment. 😀
Habit Hamster
Habit Hamster is a application that will keep track of habits like a reminder list. Current habit tracking apps do not provide a means for users to visually see progress. I am currently working on this in my Software Engineering class and am loving how awesome it is to make UWP applications.
It is currently on my GitHub: GitHub.com/amsuarez01 under Habit hamster.
Here are some Screen shots of the UWP side of development that I have been in charge of.
Mental Note was a note taking application (also the first UWP) I built. I wanted to try and understand MSA login and async file storage. It was a fun little side project, there are definitely some bugs and design choices I would do differently now. In the end I walked away understanding the ideas of login and file storage for UWP applications.
The project is in my GitHub: GitHub.com/amsuarez01
Here are some screen shots.