teaching machines

Location Tracker – Postmordem

December 16, 2014 by . Filed under cs436, fall 2014, postmortems.

Location Tracker – Brian Hauschildt

Location tracker in an app which holds data on GPS points. In the app you can look up points on a map, use your current location, and you can associate these points with pictures. The app interacts with a map two different ways. You can enter a point into the edit text, either by entering a custom GPS location, or using your own location; the map below it will change its zoom to focus on that location. Location Tracker stores these points two different ways. First, it keeps the points in a local SQLite database. Second, if you choose to clear your location history all points are also written to a file on the phone to keep track of your total history.

When it comes to looking at these points you also have two options. By clicking the Map All Points button you can view your stored points in another activity, which brings up a bigger map with all your locations marked. The other way is a list format, with a custom adapter. The list view has a couple points of interactivity. By clicking on a point you can take a picture to associate with the location. By swiping from left to right on the list item this deletes the point from your SQLite database. To delete all your items you also have the option of clicking the Clear History button in the main activity.

Challenges

I had a hard time with developing the style of this app. The main reason I am not submitting this app to the app store is because of its aesthetics. I had a fun time putting all of the different parts of this app together. But by making an app that covered a lot of blugolds, it also made it difficult to put all of these part together in a working fashion.

Main Activity

  Location Tracker - Main german_version_v2

This is the opening screen of Location Tracker. You can either enter a location manually with the edit text, or by hitting the “Use Current Location” button it accesses your phones GPS  location and enters it in the edit text for you. After you have the Lat, Lon location you hit “See Location” this button uses JSON to find where the location is, and then sets the zoom on the map fragment below to be centered on that location.

Hitting the back(“up” button)  in the top bar of every activity brings you back to this activity.


 

device-2014-12-15-192423device-2014-12-15-192537

The screen on the left is the screen you are brought to when you hit the “See All Points” button. This screen is filled by a ListView which is populated using a custom adapter. There are a couple of points of interactivity on the list. If you swipe from left to right on one of the ListView items it will delete the entry. Also, if you click on one of the entries it brings you to the Activity screens below.

The screen on the right is where you are brought when you hit the “Map All” Points” button. This activity simply generates the map and populated it with all of the points you have stored.


 

 

device-2014-12-15-192440  device-2014-12-15-192503

This screen on the left is what you are brought to when you click on an item. in the ListView previously. It prompts the user to take a photo of the location if they choose to do so. I used the emulator so the image on the right is what the screen turns into after the picture is taken.


 

Analytics Screen Shot


 

Points Claiming

ListView w/ custom adapter.

Local database: SQLite for currently saved points.

Persist using preferences: File on phone to store every gps location (doesn’t get deleted by clear button) for a “total history”.

JSON

threading off UI thread: JSON call.

3 languages: Supports Spanish, German, and Swedish.

Maps

GPS: Had to use the terminal with the emulator to set its own location.

Gestures: Delete list entries.

Camera

Google Analytics: Basic tracking. Just tracks the number of people who use your app.