matthiaslao / justparktest

Android application test for JustPark

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FindPark

Screenshots

APK

Generated .apk available here.

Features

  • Display nearest private parking spaces according to the given location
  • Display information on a selected parking space
  • Delegate navigation to Google Maps

Material Design

Google recently promoted the use of material design. I wanted to try it, as the design is very clean and user friendly. I also got my inspiration from the new version of the Android Google Maps.

To recreate the sliding layout, I used the AndroidSlidingUpPanel from umano.

How I worked

First, I needed to collect data, to find what and how I could design the application. I download and tried the new release of Google Maps and found it very simple and quite easy to handle, with good transitions. Then I decided to set up a similar design and I read material design guidelines to have a general overview on how to design a material design app. I had to update myself on the latest Android version (API 21 - Android Lollipop) and I decided to use the app-compat-v7 library to have new features available for the previous versions of Android. After getting all the information needed, I set a list of task I had to complete. I first tried to make a couple of requests to the API, with different values, and get the general XML nodes. I also had to list the facilities (and I may have forgotten some). It would have been better if I had the XML and the Web Service specs, but I assume it was my job to figure out the params. I wanted to use Android Studio (I previously used ADT Eclipse), which version wasn't stable when I began the project. It took me some time to handle the IDE, and I also had to update the project and the IDE several times before Android Studio 1.0.0 came out (very recently). Google declared Android Studio as the main official Android IDE, so I guess it was worthy to test it out.

I wanted the final result to be something complete and usable.

Code

  • I tried to make the architecture easy to maintain, so I split model-view-controller in different packages.
  • All strings are extracted in the string.xml file
  • The application needs an active internet connection to work.
  • Gson from Google is used to parse the json, all the XML nodes are in the model package.
  • All downloads are done in an AsyncTask.
  • The main data is stored into a Fragment to prevent data loss resulting from the main Activity changes (screen lock, orientation, language, ...)
  • An external application (Google Maps) is called to handle navigation.

To do / Known issues

  • Unit tests.
  • Images missing for all screen resolutions
  • Retry button if no connection available
  • Add a line between car marker and parking space marker on marker click
  • Rating bar images for all resolutions (cropped on some devices)

About

Android application test for JustPark


Languages

Language:Java 100.0%