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
Source Code
DHIS2 is open source software and the source code is on Github. If you would like to contribute, please fork our repositories and open a pull request.
Android Development Roadmap
The development roadmaps for both the DHIS2 core platform and the DHIS2 Android Capture App are available on Jira. These roadmaps include new features and bug fixes that are planned for inclusion in upcoming releases. You can learn more about the DHIS2 development roadmap and prioritization process on the Roadmap page.
If you are thinking about contributing to the DHIS2 Android App source code, please contact us in the Android developers section in the Community before you start 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
Issue Tracking
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
Icon Library
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.
Security
In the mobile team we work to adhere to the OWASP Application Security Verification Standard
In the diagram below you can see the status or our App according to the OWASP ASVS V 1.1.3. You can find details on the requirements here.
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.