Skip to content
Pablo edited this page Aug 22, 2023 · 3 revisions

dhis2 Android App

Components

The dhis2 app main components are:

Both SDK and Rule engine are consumed by the app as dependencies in the build.gradle file:

implementation "org.hisp.dhis:android-core:<sdk_version>

implementation "org.hisp.dhis.rules:rule-engine:<rule_engine_version>"

For a deeper look at the SDK or the Rule Engine, refer to their own repositories.

App folder structure

The org.dhis2 folder includes most of the app code.

  • Bindings: Contains a single class with all BindingAdapters used.
  • data: A mixed of modules used by Dagger to inject common dependencies (User, Services, Server configuration) and all classes that deals with forms (Repositories, activities/fragments, form fields).
  • usecases: All screens of the app grouped by usecase (main/home, settings, tei_dashboard, login, etc)
  • utils: Utility classes for resources, custom views, strings, dates, network, program rule effects.
  • widgets: At the moment it only contains the custom launcher widget class.

In addition, the org.dhis2 folder also includes the Application class and its dagger component and module