Funcións SaveData e LoadData en Power Apps

Garda e volve cargar a colección desde un dispositivo local.

Descripción

A función SaveData almacena unha colección para o seu uso posterior baixo un nome.

A función LoadData recarga unha colección por nome que antes se gardou con SaveData. Non pode usar esta función para cargar unha colección desde outra fonte.

Nota

O nome compartido entre SaveData e LoadData é unha clave, non un nome de ficheiro. Non é preciso que sexa complexo, xa que os nomes son exclusivos de cada aplicación e non hai perigo de conflitos por nomes. O nome non debe conter ningún destes caracteres: *".?:\<>|/.

Use estas funcións para mellorar o rendemento de inicio de aplicacións mediante:

  • Almacenamento na caché de datos coa fórmula App.OnStart nunha primeira execución.
  • Recarga da caché local nas próximas execucións.

Tamén pode usar estas funcións para engadir capacidades sinxelas sen conexión para a súa aplicación.

Non pode usar estas funcións dentro dun explorador ao:

  • Crear a aplicación en Power Apps Studio.
  • Executar a aplicación no reprodutor web.

Para probar a súa aplicación, execútea en Power Apps Mobile nun dispositivo iPhone ou Android.

Estas funcións están limitadas pola cantidade de memoria dispoñible da aplicación xa que funcionan nunha colección na memoria. A memoria dispoñible pode variar dependendo de factores como:

  • O dispositivo e sistema operativo.
  • A memoria que o reprodutor de Power Apps usa.
  • A complexidade da aplicación con pantallas e controis.

Probe a súa aplicación con escenarios previstos sobre o tipo de dispositivos nos que espera que se execute a aplicación ao almacenar datos de gran tamaño. Espere ter xeralmente entre 30 MB e 70 MB de memoria dispoñible.

Estas funcións dependen da definición implícita da colección con Collect ou ClearCollect. Non é necesario chamar as funcións Collect ou ClearCollect para cargar datos na colección para definila. É un caso común cando se usa LoadData despois dunha función SaveData anterior. Só é necesaria a presenza destas funcións nunha fórmula para definir de forma implícita a estrutura da colección. Para obter máis información, consulte creación e eliminación de variables.

Os datos cargados xuntaranse na colección. Use a función Clear antes de chamar LoadData se quere comezar cunha colección baleira.

As instalacións integradas do illamento de procesos de aplicacións do dispositivo úsanse para illar os datos gardados doutras aplicacións.

O dispositivo tamén pode cifrar os datos; ou pode usar unha ferramenta de xestión de dispositivos móbiles como Microsoft Intune.

Sintaxe

SaveData( Collection, Name )
LoadData( Collection, Name [, IgnoreNonexistentFile ])

  • Collection: requirido. Colección que se vai almacenar ou cargar.
  • Name: requirido. Nome do almacenamento. O nome debe ser o mesmo para gardar e cargar o mesmo conxunto de datos. O espazo do nome non se comparte con outras aplicacións ou usuarios. Os nomes non deben conter ningún destes caracteres: *".?:\<>|/.
  • IgnoreNonexistentFile: opcional. Un valor booleano que indica que facer se o ficheiro non existe aínda. Use falso (valor predeterminado) para devolver un erro e verdadeiro para suprimir o erro.

Exemplos

Fórmula Descripción Resultado
SaveData( LocalCache, "MyCache" ) Garda a colección LocalCache no dispositivo do usuario co nome "MyCache", axeitado para que LoadData o recupere despois. Os datos gárdanse no dispositivo local.
LoadData( LocalCache, "MyCache" ) Carga a colección LocalCache desde o dispositivo do usuario co nome "MyCache", previamente almacenado cunha chamada a SaveData. Os datos cárganse desde o dispositivo local.

Exemplo simple sen conexión

Seguindo un exemplo sinxelo, captura e almacena os nomes e as imaxes dos elementos cotiáns mentres está sen conexión. Almacena a información no almacenamento local do dispositivo para o seu posterior uso. Isto permite pechar a aplicación ou reiniciar o dispositivo sen perder datos.

Debe ter un dispositivo para traballar a través deste exemplo mentres utiliza as funcións LoadData e SaveData que non funcionan nun navegador web.

  1. Cree unha aplicación de lenzo en branco cun esquema de tabletas. Para obter máis detalles, lea crear unha aplicación a partir dun modelo e seleccione Deseño de tableta en Aplicación en branco.

  2. Engada un control de Entrada de texto e un control de Cámara e organíceos aproximadamente como se mostra:

    Engadiuse unha entrada de texto e un control de cámara a unha pantalla en branco

  3. Engada un control de botón.

  4. Faga dobre clic no control do botón para cambiar o texto do botón a Engadir elemento (ou modifique a propiedade Texto).

  5. Estableza a propiedade OnSelect do control de botón con esta fórmula que engadirá un elemento á nosa colección:

    Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
    

    Engadiuse un control de botón co texto "Engadir elemento" e definiuse a propiedade OnSelect

  6. Engada outro control de botón.

  7. Faga dobre clic no control do botón para cambiar o texto do botón a Gardar datos (ou modifique a propiedade Texto).

  8. Estableza a propiedade OnSelect do control de botón con esta fórmula para gardar a nosa colección no dispositivo local:

    SaveData( MyItems, "LocalSavedItems" )
    

    Engadiuse un control de botón co texto "Gardar datos" e definiuse a propiedade OnSelect

    É tentador probar o botón porque non afecta a nada. Pero só verá un erro ao crealo nun navegador web. Garde a aplicación primeiro e abra nun dispositivo antes de seguir os seguintes pasos para probar esta fórmula:

  9. Engada un terceiro control de botón.

  10. Faga dobre clic no control do botón para cambiar o texto do botón a Cargar datos (ou modifique a propiedade Texto).

  11. Estableza a propiedade OnSelect do control de botón con esta fórmula para cargar a nosa colección do dispositivo local:

    LoadData( MyItems, "LocalSavedItems" )
    

    Engadiuse un control de botón co texto "Cargar datos" e definiuse a propiedade OnSelect

  12. Engada un control de Galería cunha disposición vertical que inclúe áreas de imaxe e texto:

    Selección de variedade de galerías, seleccionada "Vertical" con áreas de imaxe e texto

  13. Cando se lle solicite, seleccione a colección MyItems como orixe de datos desta galería. Isto axustará a propiedade Items do control de Galería:

    Selección da galería de orixe de datos O control de imaxe no modelo de galería debería predeterminar a propiedade Imaxe en ThisItem.Picture e os controis das etiquetas deberían predeterminar as súas propiedades de Texto en ThisItem.Item. Comprobe estas fórmulas se despois de engadir elementos nos seguintes pasos non ve nada na galería.

  14. Coloque o control á dereita dos outros controis.

    Galería reposicionada á dereita da pantalla

  15. Garde a aplicación. Se é a primeira vez que se garda, non é necesario publicala. Se non é a primeira vez, publique a aplicación despois de gardala.

  16. Abre a aplicación nun dispositivo como un teléfono ou tableta. SaveDatae LoadData non se poden usar en Studio ou nun navegador web. Actualice a lista de aplicacións se non ve a aplicación de inmediato, pode tardar uns segundos en aparecer no seu dispositivo. Pechar sesión e volver á súa conta tamén poden axudar.

    Aplicación en funcionamento sen elementos engadidos Unha vez descargada a aplicación, pode desconectarse da rede e executar a aplicación sen conexión.

  17. Insira o nome e faga unha foto dun elemento.

  18. Seleccione o botón Engadir elemento. Repita a adición de elementos un par de veces para cargar a súa colección.

    Aplicación en funcionamento con tres elementos engadidos

  19. Seleccione o botón Gardar datos. Isto gardará os datos da súa colección no seu dispositivo local.

  20. Peche a aplicación. Perderase a súa colección na memoria, incluídos todos os nomes e imaxes do elemento, pero aínda estarán alí no almacenamento do dispositivo.

  21. Inicie a aplicación de novo. A colección da memoria volverá aparecer como baleira na galería.

    Aplicación en funcionamento de novo sen elementos engadidos

  22. Seleccione o botón Cargar datos. A colección volverase encher cos datos almacenados no seu dispositivo e os seus elementos volverán estar na galería. A colección estaba baleira antes de que este botón chame a función LoadData; non había necesidade de chamar Collect ou ClearCollect antes de cargar os datos desde o almacenamento.

    Aplicación en funcionamento con tres elementos restaurados despois de chamar a función LoadData

  23. Seleccione o botón Cargar datos de novo. Os datos almacenados xuntaranse ao final da colección e aparecerá unha barra de desprazamento na galería. Se desexa substituír no canto de anexar, use a función Clear primeiro para despexar a colección antes de chamar a función LoadData.

    Aplicación en funcionamento con seis elementos restaurados despois de chamar a función LoadData dúas veces

Exemplo sen conexión máis avanzados

Para obter un exemplo detallado, consulte o artigo sobre capacidades sinxelas sen conexión.