跳转至
For the complete DHIS2 documentation index, see llms.txt.

数据存储{ #android_sdk_data_store }

d2.dataStoreModule().dataStore()

SDK 通过 "DataStoreModule "提供对在线数据存储的读/写访问。此外,SDK 还提供 "localDataStore",用于在无模式存储库中存储本地数据。

请注意,SDK 将此信息视为数据而非元数据,删除本地数据库数据时将删除此信息。

在线数据存储{ #android_sdk_online_data_store }

这是 API 中众所周知的数据存储。本文档中将其称为 "在线",以避免与 SDK 提供的本地数据存储混淆。

这种行为与其他数据类似:

  1. 下载在线 DataStore。强烈建议指定要下载的命名空间;否则,SDK 会尝试下载所有命名空间,这可能会导致同步时间过长。
  2. 读取或修改 DataStore 条目。
  3. 如果条目有任何修改,则调用该方法将条目上传到服务器。

Java // 下载 d2.dataStoreModule().dataStoreDownloader() .byNamespace().in("namespace1", "namespace2") .download();

// 读取示例 列表 entries = d2.dataStoreModule().dataStore() .byNamespace().eq("namespace1") .byKey().in("key1", "key2") .get()

// 编写示例 d2.dataStoreModule().dataStore() .value("namespace1", "key1") .set("value");

// 上传 d2.dataStoreModule().dataStore().upload();

## 本地数据存储{ #android_sdk_local_data_store }

```java
d2.dataStoreModule().localDataStore()

该存储库非常适合存储任何类型的信息。

该集合支持键值对(KeyValuePair),可在 SDK 中作为其他值存储。

// 访问对象存储库
本地数据存储对象存储库 objectRepository = 
    d2.dataStoreModule().localDataStore().value("key")

// 设置或更新键值对
objectRepository.set("value")

// 删除键值对
objectRepository.delete()