The user opens the application and is greeted by a dog, background, and weather pattern drawable which corresponds to the current weather information for your default location. The application accomplishes finding the location by using a geocoder. The geocoder makes a best guess of the location it needs to provide weather information for based on an address string provided to it. The latitude and longitude of this information is retrieved and passed to an asynchronous method which pulls weather information from an opeanWeather API. Based on information from that API, different drawables will be displayed which change appearance to the user. Temperature and conditions both affect which drawables will appear. Additionally textviews containing weather information are updated with appropriate info. Thus the default page is displayed ot the user. The user can then edit the weather location by pressing the “Set location” button, which inflates an alert dialog. Within the alertDialog box, there is a textbox which allows the user to enter a new address or city and a positive button to complete the search. If the user enters nothing then the location will not be changed. If the user does enter something, that string will be passed to the “changelocation” method which will reset the geocoder and display the best guess based on the string while updating appropriate fields. The application also offers the functionality of changing the way temperature is viewed, as a button in the center of the app has an onclick listener which changes the temperature in fahrenheit/celsius. The temperature in celsius is retrieved from the openWeather API, but is calculated in fahrenheit before the C/F button is ever pressed. There is also a button which the user can press that calls a method to send an intent which starts the google map activity. The intent stores longitude and latitude information calculated from the setLocation method which allows the map activity to zoom the camera to the exact location that weather was previously searched for. The user can interact with the map and browse for parks to take their furry friend.