City Guide is an Android App which shows different places nearby and lets the user select which type of place they want to see.
City Guide uses:
- the event bus library Otto for inter-module communications,
- the Http library OkHttp for network requests,
- the view injection library ButterKnife to simplify the UI implementation.
The application is organized in 5 packages:
-
activities which contains
MainActivity
, the only activity of the application; -
adapters which contains
PlaceAdapter
used forMainActivity
'sListView
; -
customviews which contains 2 custom views used in the application:
StarRow
rendering the rating of the place with pink and grey stars,SliderSelector
displayed as the top of the list and used for the place type selection.
-
models which contains
Place
, the only model object in the application.
Note: the types of place ("Bar", "Bistro" or "Café") is implemented by the enum Place.TYPE
.
-
providers which contains helper classes being either Singletons or utility classes with static methods:
-
BusProvider
is a singleton used as a single point of access to the application's Event Bus, -
GeolocationProvider
is a singleton used to query the device geolocation, -
PlacesProvider
is a utility class with a static method fetching the places from Google API.