Overview¶
DHIS2 Android SDK je knihovna, která abstrahuje složitost interakce s webovým rozhraním DHIS2. Jeho cílem je být výchozím bodem pro vytváření aplikací pro Android pro DHIS2, které pokrývají některé úkoly, které by měla implementovat libovolná aplikace pro Android, jako jsou metadata a synchronizace dat.
Hlavní cíle:
- Abstraktní webové API DHIS2. Není třeba provádět dotazy API na serveru. Sada SDK obsahuje metody interakce s webovým rozhraním API.
- Work offline. It implements a simplified version of DHIS2 model that is persisted in a local database (Room Database). It ensures that all the metadata required to perform data entry tasks is available at any time to build the data entry forms. Data is saved locally and uploaded to the server when connection is available.
- Zajistěte kompatibilitu DHIS2. Zapouzdřuje změny mezi verzemi DHIS2, takže se o ně aplikace nemusí starat. V případě, že SDK zavádí některé změny pro přizpůsobení nové verzi DHIS2, může aplikace tyto změny bezpečně detekovat v době kompilace.
Přehled technologií¶
The SDK is mainly written in Java 8 using the reduced subset of features allowed in the minimum Android API version, although newer components are implemented in Kotlin, which is the language recommend by Google for building Android apps. The SDK uses some Android-specific components, such as libraries to create paged list (LiveData, PagedList) or to access to file system. For this reason, currently the SDK is only runnable in an Android environment.
K usnadnění asynchronního zpracování některých metod používá RxJava. I když je volitelný, doporučujeme tento přístup zajistit neblokující volání.
Other libraries internally used by the SDK are: Koin for dependency injection, Kotlinx Serialization for JSON parsing, Ktor and OkHttpClient for API communication, Room for database persistence, or SQLCipher for DB encryption.