Skip to content

jasonrogena/ma3map-client_android

Repository files navigation

ma3map

ma3map is a matatu transit application for Nairobi. It uses GTFS data collected by University of Nairobi's C4DLab available here. For more information on the GTFS data refer to Digital Matatus' website. Visit ma3map's GitHub Homepage for the entire codebase.

Android Client Build Status

The android client was made using Android Studio and the Gradle Build System.

screenshot_1 screenshot_2 screenshot_3 screenshot_4 screenshot_5 screenshot_6

Building the Project

Environment

You need to sign the app for it to be allowed to use some of the external APIs it needs. If you don't already have a release key, generate one by running:

cd ~/.android
keytool -genkey -v -keystore release.keystore -alias androidreleasekey -keyalg RSA -keysize 2048 -validity 10000

You can show the release key's SHA1 fingerprint by running:

cd ~/.android
keytool -v -list -keystore release.keystore

Add the following lines to the local.properties file in the project's root directory (you might have to create it):

STORE_FILE=/home/[username]/.android/release.keystore
STORE_PASSWORD=your_key_store_pw
KEY_ALIAS=androidreleasekey
KEY_PASSWORD=your_release_key_pw

Make sure your Android SDK has the following installed:

  • Android SDK Tools v23.0.5 >
  • Android SDK Platform-tools v21 >
  • Android SDK Build-toos v21.0.2 >
  • SDK platform for API level 21 >
  • Google APIs for API level 21 >
  • Android Support Repository v7 >
  • Android Support Library v21 >
  • Google Play Services v20 >

Run the following commands when you first clone the project:

./gradlew clean
./gradlew build --debug

Generating a Signed Release APK

Since this app uses API's that need it to be signed, we recommend you install the signed APK on your device. You can generate the signed APK by running:

./gradlew assembleRelease
adb install -r app/build/outputs/apk/app-release.apk

External APIs Used

The app needs access to several external APIs:

1. Google Maps Android API v2

You'll need to get an API key from Google's Developer Console. Set the API key as maps_api_key in app/src/main/res/values/strings.xml.

Note that Google will need your release key's SHA1 fingerprint for them to give you an API key.

2. Google Places API

You'll need to get an API key from Google's Developer Console. Set the API key as places_api_key in app/src/main/res/values/strings.xml.

Google doesn't need your release key's SHA1 fingerprint. Use the Public API access key for this.

LICENSE

This code is released under the GNU Affero General Public License version 3. Please see the file LICENSE.md for details.

Download

You can download the signed Android apk from here. Please note that this project is still under development and should be considered pre-alpha. The application currently only works on devices that run Android 5.0.1 and newer. Support for other versions of Android coming very soon!

About

Android client for the ma3map application

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages