/OpenBikeSharing

Shared bikes availability in your city

Primary LanguageJavaOtherNOASSERTION

OpenBikeSharing

Build Status

OpenBikeSharing is an Android application that displays the availability of shared bikes in your city.

It uses the CityBikes API that provides data for more than 200 cities (in 23 countries) and displays those data on an OpenStreetMap layer thanks to the osmdroid library (you can choose between multiple layers).

Download

OpenBikeSharing is available on F-Droid and Google Play. Signed APK's can also be found on GitHub in the Releases section.

Contribute

This is my first Android application. I probably don't comply with all the "good practices" and the code may be a bit messy. So if you have enough courage, take a look at it and tell me what is wrong!

If your language is not yet supported, just copy the app/src/main/res/values directory and translate the strings in it (when copying strings from English, please remove those marked translatable="false").

As I don't have as many devices as I would like to test this app on, please report any bug/crash that you may encounter. And feel free to make any suggestions to improve it.

To contribute to the openbikesharing.org website, just switch to the gh-pages branch.

Build

If you use Android Studio, you can import the project directly from GitHub.

Otherwise you can build it from the command line with Gradle.
Clone the repo and type:

./gradlew build

(You may need to chmod +x the gradlew script)

The Gradle script will take care of downloading the necessary libraries and will generate the APK's in app/build/outputs/apk.

Permissions

The following permissions are needed by OpenBikeSharing (those are the same that are required by osmdroid):

  • ACCESS_COARSE_LOCATION
  • ACCESS_FINE_LOCATION
  • ACCESS_WIFI_STATE
  • ACCESS_NETWORK_STATE
  • INTERNET
  • WRITE_EXTERNAL_STORAGE

Internet access is needed to download the map tiles and the stations. Location access is only used to locate you on the map. Access to the SD card is required by osmdroid to cache the tiles.