The Android application framework is based around “Activities”,“a single focused thing that the user can do” [22]. The code within an Activity is initially executed through callback methods activated at appropriate stages of the Activity Lifecycle, e.g. when the activity is created, started, paused, resumed or destroyed. The application has a single activity, which creates the action bar buttons and the view of the graph and attaches appropriate event handlers to respond to input events. Interaction with Dropbox (see Section 2.5.1) uses an AsyncTask object, allowing the user interface thread to initiate and display the results of a background operation, while maintaining responsiveness to the user while the background task is running. The developer provides a doInBackGround method that is executed by a background thread and a doPostExecute method that is executed on the user interface thread after the background task has completed.