设置{ #android_sdk_settings }¶
每次元数据同步都会下载设置。有多种设置:
d2.settingModule()
- 系统设置:系统范围内的属性,如
flag或keyCustomColorMobile(注意:style已被弃用,取而代之的是keyCustomColorMobile)。 - 用户设置:用户特定的设置,例如
keyDbLocale或keyUiLocale。 - 设置应用:这些设置可提供对应用行为的更多控制。下一节将对此进行更多介绍。
设定应用程式¶
DHIS2实例可能包含一个名为“ Android设置”的Web应用程序,该应用程序可以远程控制应用程序中的某些参数。此应用程序的安装和配置是可选的。
该SDK在每次元数据同步时都会下载此配置并将其保存在数据库中。其中一些参数由 SDK 自动使用(它们在下面以粗体标记),尽管其中大多数参数可能会被应用程序覆盖。
常规设置¶
``java d2.settingModule().generalSetting() ````
它提供了有关应用程序设置的附加信息:
- 加密数据库:是否加密本地数据库。
- 保留值:要保留的属性值的数量。它可能会被应用程序覆盖。
- 绕过 DHIS2 版本:如果为 "true",则无论安装的 DHIS2 版本如何,SDK 都会尝试连接到实例。
- 移动配置:网关号码、结果发送方号码。应用程序必须使用这些配置,并在 SDK 中用于配置 SMS 模块。
- Matomo 配置:如果您有自己的 Matomo 实例,您可以向应用程序公开这些信息,以便配置其 Matomo 客户端。
- AllowScreenCapture:参数,用于确定应用程序是否允许屏幕截图。
- MessageOfTheDay:向用户显示的信息。
- ExperimentalFeatures:已启用的实验功能列表。
同步设定¶
Java d2.settingModule().synchronizationSettings()
如果提供控制元数据/数据同步的附加参数。
- 元数据同步(MetadataSync)、数据同步(DataSync):这两个参数定义了元数据/数据同步的周期。应用程序必须使用它们来创建计划任务。
- TrackerImporterVersion: 跟踪器导入程序的版本:V1 指传统跟踪器导入器(
/api/trackedEntityInstances端点);V2 指 2.37 中引入的导入器(/api/tracker端点)。 - 程序设置: 该部分控制程序数据同步参数。该部分可定义用于所有程序同步的全局或默认参数。此外,它还允许为特定程序设置特定设置。所有这些参数都会被 SDK 占用,并在同步过程中使用。
- 数据集设置: 本节控制汇总数据同步参数。该部分可定义用于同步所有数据集的全局或默认参数。此外,它还允许为特定数据集设置特定设置。所有这些参数都会被 SDK 占用,并在同步过程中使用。
外观设置¶
Java d2.settingModule().appearanceSettings()
这些设置可以控制数据输入表单的外观。
- 筛选排序:它定义了必须在不同应用程序菜单中启用的筛选器。
- ProgramConfiguration:它为程序定义了两个属性。
- CompletionSpinner:显示/隐藏完成旋转器。
- OptionalSearch(可选搜索):定义创建数据前是否必须进行搜索。
- DisableReferrals(禁用转介):该程序是否必须启用转介。
- DisableCollapsibleSections(禁用可折叠部分):此程序中的部分是否必须可折叠。
- ItemHeader:它定义了用于为 TEI 生成标题的元素(programIndicator)。当使用 "TrackedEntitySearchCollectionRepository "时,SDK 会自动使用该属性。
- 最小定位精度:它决定捕捉坐标时的精度。
- DisableManualLocation(禁用手动定位):是否可以手动捕捉坐标。
大多数设置都与可视化组件有关,因此通常由应用程序使用。
分析设置{ #android_sdk_analytic_settings }¶
```Java d2.settingModule().analyticsSetting()
d2.settingModule().analyticsSetting().teis()
d2.settingModule().analyticsSetting().dhisVisualizations() ```
分析设置定义了必须显示给用户的分析元素(图表、表格......)。
- ** TEI 集合:** 它们定义了与单个 TEI 上下文相关的分析元素。这些元素旨在显示在 TEI 面板中。
- dhisVisualizations: 它们分为三个部分(主页、程序、数据集),每个部分由一个组列表组成。每个组包含一个可视化列表。关于各部分:
- 主页: 必须在*主页*屏幕上显示的可视化内容。
- *程序:*对象映射,关键字为程序 ID。这些可视化效果将在特定程序的上下文中显示。
- *数据集:*对象映射,关键字为数据集 ID。这些可视化的目的是在特定数据集的上下文中显示。
这些设置涉及可视化组件,因此必须由应用程序使用。
自定义意图{ #android_sdk_custom_intents }¶
```Java d2.settingModule().customIntents()
d2.settingModule().customIntentService() ```
自定义意图允许安卓设置应用配置可在应用内触发的外部集成。这些意图会在元数据同步过程中下载,可用于使用特定上下文数据启动外部应用程序或服务。
每个自定义意图配置都包括 - 触发:定义意图应在何时何地可用(例如,在 TEI 面板、注册、事件、数据集中)。 - 行动:要执行的操作类型(如启动活动、发送广播)。 - 软件包名称:目标应用程序软件包。 - 请求:用于向外部应用程序发送数据的配置,包含键值参数,可使用基于表达式的值。 - 响应:从外部应用程序接收数据的配置。
SDK 提供了一个 "CustomIntentService",用于根据当前上下文评估请求参数:
```java // 获取自定义意图 List
// 评估特定上下文的参数(可选择使用 orgunit) CustomIntentContext context = new CustomIntentContext("orgunitUid");
Map