Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
S'aplica a: Aplicacions de llenç
Desa i torna a carregar una col·lecció des de l'emmagatzematge de l'amfitrió de l'aplicació.
Descripció
La SaveData funció emmagatzema una col·lecció per al seu ús posterior amb un nom.
La LoadData funció torna a carregar una col·lecció pel nom que s'havia desat prèviament amb SaveData. No podeu utilitzar aquesta funció per carregar una col·lecció d'una altra font.
La ClearData funció esborra l'emmagatzematge amb un nom específic o esborra tot l'emmagatzematge associat a l'aplicació si no es proporciona cap nom.
Nota
- El nom compartit entre SaveData, LoadData, i ClearData és una clau, no un nom de fitxer. No ha de ser complex ja que els noms són únics per a cada aplicació i no hi ha cap perill de conflicte de noms. El nom no pot incloure cap d'aquests caràcters:
*".?:\<>|/. - SaveData està limitat a 1 MB de dades per al Power Apps que s'executa al Teams i en un navegador web. No hi ha cap límit fix per executar Power Apps en un reproductor mòbil, però hi ha límits pràctics tractats a continuació.
- No utilitzeu SaveData per emmagatzemar dades sensibles al web, ja que s'emmagatzemaran en text sense format.
Per utilitzar aquestes funcions per millorar el rendiment d'inici de l'aplicació, podeu fer el següent:
- Emmagatzemeu a la memòria cau dades de la fórmula App.OnStart en una primera execució.
- Torneu a carregar la memòria cau local en posteriors execucions.
També podeu utilitzar aquestes funcions per afegir funcionalitats simples fora de línia a l'aplicació.
No podeu utilitzar aquestes funcions dins d'un navegador quan:
- Es crea l'aplicació al Power Apps Studio.
Per provar l'aplicació, executeu-la a l'aplicació mòbil del Power Apps en un dispositiu Android o iPhone.
Aquestes funcions estan limitades per la quantitat de memòria de l'aplicació disponible, ja que operen en una col·lecció de la memòria. La memòria disponible pot variar en funció de diversos factors:
- El dispositiu i el sistema operatiu.
- La memòria que utilitza el reproductor del Power Apps.
- Complexitat de l'aplicació amb pantalles i controls.
Proveu l'aplicació amb escenaris previstos al tipus de dispositius que espereu que executi l'aplicació en emmagatzemar dades grans. Espereu que hi hagi entre 30 MB i 70 MB de memòria disponible, generalment.
Aquestes funcions depenen de la col·lecció que s'hagi definit implícitament amb Collect o ClearCollect. No cal que truqueu a Collect ni ClearCollect per carregar dades a la col·lecció per definir-la. És un cas comú quan s'utilitza LoadData després d'un anterior SaveData. Tot el que es necessita és la presència d'aquestes funcions en una fórmula per definir implícitament l'estructura de la col·lecció. Per obtenir més informació, vegeu Crear i suprimir variables.
Les dades carregades s'annexaran a la col·lecció. Utilitzeu la funció Esborra abans de trucar LoadData si voleu començar amb una col·lecció buida.
Seguretat de dades
Considereu acuradament l'aïllament i el xifratge de les dades emmagatzemades i SaveData decidiu si és adequat per a les vostres necessitats, especialment si els dispositius són compartits per diversos usuaris.
Les dades emmagatzemades amb SaveData estan aïllades d'altres reproductors del Power Apps. Les dades s'emmagatzemen en funció de l'identificador d'aplicació de l'aplicació, aïllant automàticament l'espai de noms entre el SaveData Power Apps.
El sistema operatiu i el navegador s'encarreguen d'aïllar les dades entre Power Apps altres aplicacions d'un dispositiu i amb llocs web. Per exemple, el sistema operatiu s'encarrega d'aïllar les dades emmagatzemades a Microsoft Outlook les dades emmagatzemades i Power Apps també d'aïllar aquestes dades de llocs web com Bing.com o PowerApps .com. Les instal·lacions de sandbox d'aplicacions integrades del sistema operatiu s'utilitzen per SaveData a l'emmagatzematge que normalment no és accessible ni ocult a l'usuari.
Quan s'utilitza la mateixa aplicació, el sistema operatiu i el navegador també s'encarreguen d'aïllar les dades entre diferents usuaris a nivell de sistema operatiu. Per exemple, si dos usuaris diferents comparteixen un ordinador i utilitzen dues credencials d'inici de sessió de Windows diferents, el sistema operatiu s'encarrega d'aïllar les dades entre els dos usuaris de Windows.
Les dades poden o no estar aïllades entre diferents Power Apps usuaris si l'usuari del sistema operatiu és el mateix. No tots els Power Apps jugadors ho tracten de la mateixa manera. Per exemple, mentre inicieu sessió com el mateix usuari de Windows, al Power Apps reproductor, l'usuari tanca Power Apps la sessió i inicia la sessió com a usuari diferent Power Apps . Les dades emmagatzemades en una aplicació abans del canvi d'usuari Power Apps poden ser accessibles per al segon Power Apps usuari dins de la mateixa aplicació. Les dades també poden ser eliminades i el primer Power Apps usuari pot deixar d'accedir-hi. El comportament varia entre Power Apps jugadors.
El sistema operatiu també pot xifrar les dades o podeu utilitzar una eina de gestió de dispositius mòbils com ara Microsoft Intune. Les dades emmagatzemades en reproduir una aplicació en un navegador web no estan xifrades.
Sintaxi
SaveData( Col·lecció, Nom )
LoadData( Col·lecció, Nom [, IgnoreNonexistentFile ])
- Col·lecció : obligatòria. Col·lecció que s'emmagatzemarà o carregarà.
-
Nom : obligatori. Nom de l'emmagatzematge. El nom ha de ser el mateix per desar i carregar el mateix conjunt de dades. L'espai de noms no es comparteix amb altres aplicacions. Els noms no poden incloure cap d'aquests caràcters:
*".?:\<>|/. - IgnoreNonexistentFile : opcional. Un valor booleà que indica què s'ha de fer si el fitxer ja no existeix. Utilitzeu false (per defecte) per retornar un error i true per suprimir l'error.
ClearData( [Nom] )
- Nom : opcional. Nom de l'emmagatzematge desat prèviament amb SaveDatael . Si no s'indica res a Name, s'esborrarà tot l'emmagatzematge associat a l'aplicació.
Exemples
| Fórmula | Descripció | Resultat |
|---|---|---|
| SaveData( LocalCache, "MyCache" ) | Deseu la col·lecció LocalCache al dispositiu de l'usuari amb el nom "MyCache", adequat per LoadData recuperar-lo més tard. | Les dades es desen a l'amfitrió de l'aplicació amb el nom "MyCache". |
| LoadData( LocalCache, "MyCache" ) | Carrega la col·lecció LocalCache des del dispositiu de l'usuari amb el nom "MyCache", prèviament emmagatzemada amb una crida a SaveData. | Les dades es carreguen de l'amfitrió de l'aplicació amb el nom "MyCache". |
| ClearData( "La meva memòria cau") | Esborra l'emmagatzematge amb el nom "MyCache". Les dades emmagatzemades amb aquest nom ja no estaran disponibles a través del LoadData. | Les dades s'eliminen de l'amfitrió de l'aplicació amb el nom "MyCache". |
| ClearData() | Esborra tot l'emmagatzematge associat a aquesta aplicació. Les dades emmagatzemades per altres aplicacions no es veuen afectades. | Totes les dades s'eliminen de l'amfitrió de l'aplicació. |
Exemple senzill fora de línia
El següent exemple senzill captura i emmagatzema els noms i les imatges dels elements quotidians mentre es treballa fora de línia. Emmagatzema la informació de l'emmagatzematge local del dispositiu per a utilitzar-la més tard. Això permet tancar l'aplicació o que el dispositiu es reiniciï sense perdre dades.
Nota
Aquest exemple utilitza un control de càmera per capturar imatges. Com que SaveData està limitat a 1 MB de dades quan s'executa al Teams o a un navegador web, aquest exemple no funcionarà amb més d'unes quantes imatges. A més, en funció de la càmera, pot ser que no funcioni ni tan sols amb una imatge. Utilitzeu un dispositiu per treballar amb aquest exemple complet, o suprimiu el control de la càmera i la part de la imatge d'aquest exemple per executar-lo al Teams o en un navegador web.
Creeu una aplicació de llenç en blanc amb una disposició de tauleta. Per obtenir més informació, llegiu Crear una aplicació a partir d'una plantilla i seleccioneu Disposició de tauleta a Aplicació en blanc.
Afegiu un control Entrada de text i un control Càmera i ordeneu-los més o menys com es mostra:
Afegiu un control Botó.
Feu doble clic al control de botó per canviar el text del botó per Afegeix un element (o bé, modifiqueu la propietat Text).
Definiu la propietat OnSelect del control de botó en aquesta fórmula que afegirà un element a la nostra col·lecció:
Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
Afegiu un altre control Botó.
Feu doble clic al control de botó per canviar el text del botó per Desa les dades (o bé, modifiqueu la propietat Text).
Definiu la propietat OnSelect del control de botó en aquesta fórmula per desar la nostra col·lecció al dispositiu local:
SaveData( MyItems, "LocalSavedItems" )
És temptador provar el botó, ja que no afecta res. Però només veureu un error perquè ho esteu creant en un navegador web. Deseu la primera aplicació i obriu-la en un dispositiu abans de continuar amb els passos següents per provar aquesta fórmula:
Afegiu un tercer control Botó.
Feu doble clic al control de botó per canviar el text del botó per Carrega les dades (o bé, modifiqueu la propietat Text).
Definiu la propietat OnSelect del control de botó en aquesta fórmula per carregar la nostra col·lecció des del dispositiu local:
LoadData( MyItems, "LocalSavedItems" )
Afegiu un control Galeria amb una disposició vertical que inclogui una imatge i àrees de text:
Quan se us demani, seleccioneu la col·lecció MyItems com a font de dades per a aquesta galeria. Això definirà la propietat Items del control Galeria:
El control d'imatge de la plantilla de galeria ha de tenir per defecte la propietat Image a ThisItem.Picture i els controls d'etiqueta han de ser Text per defecte a ThisItem.Item. Comproveu aquestes fórmules si no veieu res a la galeria després d'afegir els elements dels passos següents.Col·loqueu els controls a la dreta de la resta de controls:
Deseu l'aplicació. Si és la primera vegada que es desa, no cal que la publiqueu. Si no és la primera vegada, publiqueu l'aplicació després de desar-la.
Obriu l'aplicació en un dispositiu, com ara un telèfon o una tauleta. SaveData i LoadData no es poden utilitzar a Studio ni a un navegador web. Actualitzeu la llista d'aplicacions si no veieu l'aplicació immediatament; pot ser que l'aplicació tardi uns quants a aparèixer al dispositiu. Tancar la sessió del compte i tornar a iniciar-la també pot ser d'ajuda.
Un cop descarregada l'aplicació, pots desconnectar-te de la xarxa i executar-la sense connexió.Introduïu el nom i feu una foto d'un element.
Seleccioneu el botó Afegeix un element. Repetiu l'addició d'elements un parell de vegades per omplir la vostra col·lecció.
Seleccioneu el botó Desa les dades. Es desaran les dades de la col·lecció al dispositiu local.
Tanqueu l'aplicació. La col·lecció de la memòria es perdrà, inclosos tots els noms d'elements i les imatges, però encara continuaran a l'emmagatzematge del dispositiu.
Torneu a iniciar l'aplicació. La col·lecció de la memòria es tornarà a mostrar com a buida a la galeria.
Seleccioneu el botó Carrega les dades. La col·lecció s'ha de tornar a emplenar des de les dades emmagatzemades al dispositiu i els elements tornaran a la galeria. La col·lecció estava buida abans que aquest botó cridés a la LoadData funció; no calia cridar a Collect o ClearCollect abans de carregar les dades des de l'emmagatzematge.
Torneu a seleccionar el botó Carrega les dades. Les dades emmagatzemades s'adjuntaran al final de la col·lecció i apareixerà una barra de desplaçament a la galeria. Si voleu substituir en lloc d'afegir, utilitzeu primer la funció Esborra per esborrar la col·lecció abans de cridar-la LoadData .
Exemple més avançat fora de línia
Per obtenir un exemple detallat, vegeu l'article sobre les funcionalitats simples fora de línia.