Parkr is an Android app that supports motorists in their search for vacant parking spaces. For this, the current location is used to retrieve information about nearby parking spaces (the dataset is limited to Oldenburg as an example) from a database. Current data is subloaded from a JSON-based web service, which updates it approximately every 5 minutes. The user can determine the synchronization interval himself and also deactivate it (the data is then only updated once when the app is started): Only parking spaces that are within a configurable radius are taken into account (if there are no parking spaces within this radius, the user is informed about this). The associated information is presented to the user on an overview map (GoogleMapsActivity) as a marker with position or in a separate list. The parking lot closest to the last distance measurement is preselected on the map by default, since this is the most important use case. It is possible to directly start a navigation with the Google Maps app via buttons in the markers of the map as well as in the list. In addition, you can already see whether the parking lot is open or closed, how many free parking spaces it has and how far it was from the last distance measurement. For a quicker overview, various possible states are color-coded:
- Red: parking lot is closed
- Yellow: Parking lot is open, but (almost) full.
- Green: All other cases
A detailed view of the parking lot can be opened via the list. On this, information such as free parking spaces, opening hours or prices per hour are displayed. If the user uses a device with high resolution (e.g. tablets) in landscape mode, the list and detailed views are combined into a MasterDetailActivity instead: If the user navigates to a parking space and the status of the parking space changes (closed, too few parking spaces), the user is informed via a notification and the currently closest better parking space is suggested.
This app was developed together with a fellow student as part of a project-based lecture on Android programming.