From mn/ifi/inf5750
Jump to: navigation, search

Group members


Magnus Åsrud -
Olav Wegner Eide -
Øyvind Julsrud -

Project details

Android Coordinate Picker

The project is to implement the functionality of a point-and-click coordinate selector using the Google maps API in the DHIS 2 Android SDK

and integrate the coordinate selector into the two existing Android apps: DHIS 2 Event Capture and DHIS 2 Tracker Capture.

Main features:

  • A way to choose between the current device coordinates or selecting coordinates from a map.
  • If the map option is chosen, open a map and let the user point on a location, obtain the coordinates and send them back to the form.
  • Support normal user operations in the map such as zoom, move on drag and refine the already chosen position.

Secondary features:

  • Easy integration with current and new Android apps that uses the DHIS 2 SDK.
  • Continued usage of Google maps API.

How to test the app

Login for the apps.


We will primarily use the Android SDK bundle for Android Studios to create a Android coordinate picker for the DHIS2 Android SDK .

We will also make use of the Google maps API to visualize the coordinates given to us by DHIS 2 Event Capture and DHIS 2 Tracker Capture

Other tools used in the project are Git and SourceTree

Work schedule

Milestone 1: 8th November

  • Document the wiki page.

Milestone 2: 22th November

  • A test version of the Google Map functionality is available for testing.
    • Use the testVersion branch to test the app.

Milestone 3: 4th December

  • The user can open Google Maps via the menu and select a location by tapping the screen.
  • The selected coordinates are placed into the coordinate box.
  • Both apps have the ability to select coordinates via Google Maps.
  • Interface is finished and is user friendly.

Final milestone: 11th December

  • Final delivery.
  • Presentation: 17th december

Group organization

In addition to meet in person to devide the work, identify issues and work together, we use a shared Facebook conversation to easily keep in touch and share links and keep a worklog on a shared Google Sheets. The Git commit history also work as a log.

Milestone 1:
We work together to create the wiki and plan the future work.

Milestone 2:
We each work on individual tasks and meet in the group session, as well as self-organized meetings to put our work together and identify new tasks.

Milestone 3 and 4:
We each work on individual tasks and together in to solve issues. We also had help from the DHIS2 Android developers to integrate our work into the SDK.

Screenshots, implementation of features

The menu with Google Maps button Toast message The app in action

Learning outcome and future thoughts

By working on this project we acquired some experience with Android development and gained insight into the DHIS2 Android-SDK. We also a good understanding of how the DHIS2 project works. In the beginning our main concern was to get a working map and to find a good way to let the user pick coordinates on the map. This was quite easy to accomplish by implementing an activity that opened up a map and let the user pick coordinates by adding a marker where the user clicks. The main issue that then was left, was to integrate this activity with the existing SDK. The main problem was to actually return data from the map to the form. We all had several attempts to do this, e.g. by returning it in intents, local broadcasters and also event-handlers. The latter was suggested by the DHIS2 Android developers, but did not work. As for now, the the coordinates are not visible in the form before after the user goes back to the list of forms and re-enters the form. They should be visible instantly after the activity finishes and the app returns to the current form. This issue is according to the developers probably due to re-factoring in current source. For future projects we think the the projects should be built on more-stable sources and that the sources should be better documented. Although, this gives a hands-on experience from real-life development.

APK install file for Android