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

设置{ #android_sdk_settings }

每次元数据同步都会下载设置。有多种设置:

d2.settingModule()
  • 系统设置:系统范围内的属性,如flagkeyCustomColorMobile(注意:style已被弃用,取而代之的是keyCustomColorMobile)。
  • 用户设置:用户特定的设置,例如keyDbLocalekeyUiLocale
  • 设置应用:这些设置可提供对应用行为的更多控制。下一节将对此进行更多介绍。

设定应用程式

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 intents = d2.settingModule().customIntents() .blockingGet();

// 评估特定上下文的参数(可选择使用 orgunit) CustomIntentContext context = new CustomIntentContext("orgunitUid");

Map params = d2.settingModule().customIntentService() .blockingEvaluateRequestParams(customIntent, context); ```