Configuración

En una aplicación, puede definir la configuración para su uso en tiempo de ejecución o guardarla para que se mantenga entre sesiones. Puede leer variables de entorno de sistema o usuario, definir variables o propiedades de entorno durante el tiempo de ejecución o guardar la configuración en un archivo.

Variables de entorno

Puede definir variables de entorno para el usuario o para el sistema. Puede definirlas antes de ejecutar la aplicación y utilizarlas para configurar el comportamiento alternativo de la aplicación. Por ejemplo, el ajuste de la variable de entorno LANG influirá en la configuración regional utilizada por aplicaciones Qt.

Para leer el valor de cualquier variable de entorno en su aplicación, utilice AppFramework.environment.value().

Para sobrescribir la configuración actual de una variable de entorno, utilice AppFramework.environment.setValue(). Este cambio seguirá siendo válido mientras la aplicación esté en ejecución.

PropertySet

PropertySet es un componente que le permite definir pares de clave-valor que puede utilizar en vinculaciones de QML. Este componente es más adecuado si desconoce el valor de la propiedad antes de iniciar la aplicación y, en su lugar, se define en tiempo de ejecución.

Para obtener más información, consulte la Referencia de API para PropertySet.

Archivo de configuración

Puede guardar la configuración en un archivo JSON y se escribe y se lee a través del componente Settings.

La ubicación de este archivo JSON varía en función de su sistema operativo, así como de si la aplicación se creó como aplicación independiente o si se utiliza a través de AppRun o AppStudio Player. En casi todos los casos, no se requiere la edición directa del archivo, pero puede ser necesaria para abrir estos archivos para fines de pruebas de errores. Si necesita hacerlo, los archivos se encuentran en las siguientes carpetas, nombradas a partir de su UUID en ArcGIS Online:

  • Windows: C:\Users\YourUsername\ArcGIS\AppStudio\Settings
  • macOS y Ubuntu: ~\ArcGIS\AppStudio\Settings

Una vez compilada una aplicación, este archivo de configuración se puede generar en una de las cuatro ubicaciones estándar en función de la información organizativa en los permisos de la aplicación y del usuario. Se trata de ubicaciones de reserva, y puede indicar si su aplicación las usará con la propiedad booleana useFallbacks.

Definir los valores de configuración en un archivo

La configuración se asigna y almacena como pares de clave-valor, que se utilizan para representar cualquier configuración que haya agregado. Si no existe ninguna clave, esta puede crearse con un valor predeterminado definido o con lo que desee definir el usuario. Recuerde que estos valores clave diferencian entre mayúsculas y minúsculas; utilícelas de forma uniforme.

El componente Settings admite cuatro tipos de valores que pueden resultar útiles en diferentes contextos. En estos ejemplos se muestran algunas de las típicas formas en las que pueden usarse los valores.

Las funciones básicas value y setValue están destinadas a cadenas y se pueden utilizar para una amplia variedad de escenarios. En este caso, la siguiente muestra de código ofrece una forma de definir una dirección URL predeterminada:

readonly property string defaultLibraryPath: "~/ArcGIS/Example App/Library"

Item {
    Component.onDestruction: {
        var paths = libraryTextField.text.trim();

        if (paths.length <= 0) {
            paths = defaultLibraryPath;
        }

            settings.setValue("libraryPaths", paths, defaultLibraryPath);
    }

    TextField {
        id: libraryTextField

        Layout.fillWidth: true

        text: defaultLibraryPath
    }
}

La función boolValue da a elegir entre verdadero y falso, ideal para una pregunta cerrada que requiera pocos matices. La siguiente muestra de código aplica el ajuste a un conmutador, lo que determina si la aplicación recuerda las credenciales entre sesiones:

property bool staySignedIn: false

    Switch {
    checked: staySignedIn
    onCheckedChanged: {
        staySignedIn = true;
        settings.boolValue("staySignedIn", true);
    }
}

El componente Settings también ofrece numberValue para definir un número entero, que resulta útil para ajustes granulares tales como el tamaño, o escenarios que requieren elegir entre varias opciones diferentes, y colorValue, que almacena un valor de color hexadecimal, utilizado frecuentemente para personalizar la apariencia de una aplicación. Aunque estas funciones almacenan diferentes tipos de valores, se comportan de la misma manera que boolValue.