Android App Development
Here you can find information for developers on contributing to the source code for the DHIS2 Android Capture App and building custom Android mobile apps for DHIS2
Jump to a section on this page
Android Development Roadmap
If you are thinking about contributing to the DHIS2 Android App source code, check our DHIS2 Android App roadmap in Jira, and please contact us in the Android developers section in the Community before you starting to work on a contribution so that we can plan together.
If you are interested in beta testing new releases, please look out for beta testing announcements on the DHIS2 Community of Practice
You can browse existing requirements and bugs from the issue search screen, suggest new features or report new bugs. You will need a DHIS2 user on Jira for issue tracking.
When reporting a bug please specify:
- Overview of the problem
- Steps to reproduce it
- Expected behaviour
- Screenshot or video (if possible)
- Server where it can be reproduced (if possible). Do not share credentials publicly! Contact us in private message.
- DHIS2 version and build revision
- DHIS2 Android App version
- Android OS version
- Device (when possible)
DHIS2 Android SDK
The DHIS2 Android SDK provides the following key services:
- Sync (one way) of metadata for all data models: makes available in a local database all the necessary metadata for datasets and programs, including all related elements.
- Sync (bidirectional) of data: automatically downloads most relevant data to the logged user for active programs and datasets. Offline, locally updated data is automatically synchronized with the host server.
- Calculates and evaluates indicators, programs rules and a dataset validations.
- Keep compatibility with DHIS2 current version and at least two previous versions.
You can follow the SDK development in Github https://github.com/dhis2/dhis2-android-sdk
You can learn more about developing apps using the SDK in The Android SDK Developer Guide.
Skeleton Android App
In order to facilitate the adoption and use of the DHIS2 Android SDK, we have also developed a skeleton Android app that includes the SDK and the DHIS2 Rule Engine dependencies. This application allows developers to log in to DHIS2 servers and download DHIS2 data and metadata, so it can be used as a starting point by android developers who want to build their own DHIS2 android app. It is composed for a splash, a login activity and a main activity. It also provides a menu to log out and delete data. You can check out the code and download the app from Github: https://github.com/dhis2/dhis2-android-skeleton-app
Both DHIS2 from version 2.30 and onward and the DHIS2 Android Capture App allow you to select icons for programs, datasets and the options of an optionset. DHIS version 2.30 incorporated 125 icons, and the collection of icons is planned to increase with each newer version of DHIS2. To meet this goal we need your help: Please submit your ideas for new icons using this form.
Connect with the DHIS2 Android developer community
DHIS2 hosts a Community of Practice platform to facilitate connections within the community. It is the easiest way to get in contact with a growing number of DHIS2 developers, implementors, project managers, and users.
Build your skills with the DHIS2 Academy
DHIS2 organizes regular training and capacity building courses through our DHIS2 Academy program, including advanced courses for web and Android app developers. Courses may be offered in person or online, and resources from previous courses are available for you to review. You can find out more on the DHIS2 Academy page.