Jump to main content

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

    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

    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:

    1. 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.
    2. 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.
    3. Calculates and evaluates indicators, programs rules and a dataset validations.
    4. 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.

    Join the DHIS2 Community

    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.

    Learn more