Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Els usuaris mòbils sovint han de ser productius fins i tot quan tenen una connectivitat limitada o no en tenen. Quan creeu una aplicació de llenç, podeu dur a terme aquestes tasques:
- Obriu Power Apps Mobile i executeu aplicacions quan el dispositiu no estigui connectat a la xarxa.
- Determineu quan una aplicació està fora de línia, en línia o en una connexió de mesura mitjançant l'objecte de senyal Connection .
- Sincronitza les dades entre el dispositiu i el servidor.
Si la teva aplicació es connecta a Dataverse, la compatibilitat fora de línia està integrada. Power Apps et permetrà descarregar dades al teu dispositiu i tornar-hi a carregar els canvis Dataverse. Si la teva aplicació no utilitza Dataverse, pots utilitzar col·leccions i aprofitar les funcions LoadData i SaveData per a l'emmagatzematge bàsic quan no estàs connectat a Internet.
Nota
- La capacitat fora de línia per a les aplicacions de llenç està disponible mentre s'executen les aplicacions mitjançant els reproductors nadius Power Apps Mobile a iOS, Android i Windows.
- Les aplicacions del llenç que s'executen als navegadors web no poden executar-se fora de línia, encara que utilitzin un navegador web en un dispositiu mòbil.
- Les aplicacions de llenç del Teams estan limitades a 1 MB de dades a través de les funcions LoadData i SaveData, que són útils per a un nombre reduït de cadenes de text, números i dates. L'ús d'imatges o altres mitjans és inadequat per a aquest límit. Més informació: Referència de les funcions LoadData i SaveData
Habilita la compatibilitat fora de línia en una aplicació de llenç basada en a Dataverse
Per a aplicacions de llenç basades en Microsoft Dataverse, heu d'utilitzar la capacitat fora de línia integrada amb l'experiència fora de línia primer . Per obtenir més informació, consulteu Configuració de Mobile Offline per a aplicacions de llenç i Treball amb aplicacions de llenç fora de línia. Amb només prémer un interruptor, la teva aplicació pot treballar amb dades allà on siguis, amb o sense connexió de xarxa. Dataverse Només cal que creeu la vostra aplicació amb fórmules estàndard i la funció fora de línia s'encarregarà de tota la complexitat. Power Fx
Utilitzeu LoadData i SaveData per a tots els altres connectors
Aquesta secció inclou un exemple que utilitza dades de Twitter. Un exemple encara més senzill que no requereix una connexió s'inclou a la referència de funcions LoadData i SaveData.
Mireu aquest vídeo per aprendre a crear aplicacions de llenç habilitades fora de línia que no utilitzen dades: Dataverse
Limitacions
LoadData i SaveData es combinen per formar un mecanisme senzill per emmagatzemar petites quantitats de dades en un dispositiu local. En utilitzar aquestes funcions, podeu afegir funcionalitats simples fora de línia a l'aplicació.
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ó del dispositiu, del sistema operatiu, de la memòria que utilitza l'aplicació mòbil del Power Apps i la complexitat de l'aplicació pel que fa a les pantalles i els controls. Si emmagatzemeu més d'uns quants megabytes de dades, proveu l'aplicació amb escenaris previstos als dispositius on teniu previst que s'executi. En general, tindreu entre 30 i 70 megabytes de memòria disponible.
Les funcions tampoc resolen automàticament conflictes de combinació quan un dispositiu està en línia. La configuració de les dades desades i com gestionar la reconnexió depèn del creador en escriure expressions.
Després d'utilitzar LoadData per omplir una col·lecció, aquesta col·lecció no es pot utilitzar per actualitzar Dataverse dades que incloguin un camp de cerca. Si ho feu, el camp de cerca no s'actualitzarà.
Per a actualitzacions sobre les capacitats fora de línia, torneu a aquest tema i subscriviu-vos al Power Apps blog.
Informació general
Quan dissenyeu escenaris fora de línia, primer heu de tenir en compte com funcionen les vostres aplicacions. Les aplicacions accedeixen principalment a les dades a través d'un conjunt de connectors que proporciona la plataforma, com ara, per exemple, connectors, com ara connectors. Power Apps SharePoint Office 365 Microsoft Dataverse També podeu crear connectors personalitzats que habilitin les aplicacions per accedir a qualsevol servei que proporcioni un extrem RESTful. Pot ser una API web o un servei, com ara l'Azure Functions. Tots aquests connectors utilitzen HTTPS per Internet, la qual cosa significa que els usuaris han d'estar en línia per accedir a les dades i a qualsevol altra capacitat que ofereixi un servei.
Gestionar dades fora de línia
Al Power Apps, podeu filtrar, cercar, ordenar, afegir i manipular dades de manera coherent, independentment de la font de dades. Les fonts van des de col·leccions de la memòria a l'aplicació fins a llistes creades amb el Microsoft Lists, bases de dades SQL i el Dataverse. A causa d'aquesta coherència, pot ser que reorienteu fàcilment una aplicació per utilitzar una altra font de dades. Més important encara per a escenaris fora de línia, podeu utilitzar col·leccions locals per a l'administració de dades sense gairebé canvis a la lògica d'una aplicació. De fet, les col·leccions locals són el mecanisme principal per gestionar les dades fora de línia.
Crear una aplicació fora de línia
Per mantenir l'atenció en els aspectes fora de línia del desenvolupament de l'aplicació, en aquest tema s'il·lustra un escenari senzill enfocat al Twitter. Creareu una aplicació que us permet llegir publicacions del Twitter i enviar piulades fora de línia. Quan l'aplicació estigui en línia, l'aplicació publicarà les piulades i tornarà a carregar les dades locals.
En un nivell alt, l'aplicació duu a terme aquestes tasques:
Quan l'usuari obre l'aplicació:
- Si el dispositiu està en línia, l'aplicació obté les dades a través del connector del Twitter i emplena una col·lecció amb les dades.
- Si el dispositiu està fora de línia, l'aplicació carrega les dades d'un fitxer de memòria cau local mitjançant la funció LoadData .
- L'usuari pot enviar piulades. Si l'aplicació està en línia, publica les piulades directament al Twitter i actualitza la memòria cau local.
Cada cinc minuts, mentre l'aplicació està en línia:
- L'aplicació envia les piulades a la memòria cau local.
- L'aplicació actualitza la memòria cau local i la desa mitjançant la funció SaveData .
Pas 1: Afegir el Twitter a una aplicació de telèfon en blanc
- Crea una aplicació de llenç en blanc amb un disseny de telèfon .
- A la pestanya Visualització, seleccioneu Fonts de dades.
- Al panell Dades , seleccioneu Afegeix una font de dades.
- Seleccioneu Nova connexió>Twitter>Crea.
- Introduïu les vostres credencials, creeu la connexió i tanqueu el panell *Dades*.
Pas 2: Recollir piulades existents
Al panell Vista d'arbre , seleccioneu Aplicació i, a continuació, definiu la seva propietat OnStart a aquesta fórmula:
If( Connection.Connected, ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) ); Set( statusText, "Online data" ), LoadData( LocalTweets, "LocalTweets", true ); Set( statusText, "Local data" ) ); SaveData( LocalTweets, "LocalTweets" );
Al panell Vista d'arbre , seleccioneu el menú de punts suspensius de l'objecte Aplicació i, a continuació, seleccioneu Executa a l'inici per executar aquesta fórmula.
Nota
Les funcions LoadData i SaveData poden mostrar un error a Power Apps Studio perquè els navegadors no les admeten. No obstant això, actuaran amb normalitat després d'implementar aquesta aplicació en un dispositiu.
Aquesta fórmula comprova si el dispositiu està en línia:
- Si el dispositiu està en línia, la fórmula carrega fins a 10 tuits amb el terme de cerca "PowerApps" en una col·lecció de LocalTweets .
- Si el dispositiu està fora de línia, la fórmula carrega la memòria cau local d'un fitxer anomenat "LocalTweets" si està disponible.
Pas 3: Mostrar les piulades en una galeria
A la pestanya Insereix , seleccioneu Galeria>Alçada flexible en blanc.
Estableix la propietat Items del control Gallery a
LocalTweets
.A la plantilla de galeria, afegiu tres controls Etiqueta i definiu la propietat Text de cada etiqueta a un d'aquests valors:
ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
ThisItem.TweetText
Feu que el text de l'última etiqueta sigui en negreta per tal que la galeria s'assembli a aquest exemple.
Pas 4: Mostrar l'estat de connexió
A la galeria, inseriu una etiqueta i, a continuació, definiu la seva propietat Color com a Vermell.
Defineix la propietat Text de l'etiqueta més nova a aquesta fórmula:
If( Connection.Connected, "Connected", "Offline" )
Aquesta fórmula determina si el dispositiu està en línia. Si és així, l'etiqueta mostra Connectat; altrament, mostra Fora de línia.
Pas 5: Afegir un quadre per redactar piulades
Sota l'etiqueta d'estat de la connexió, inseriu un control Entrada de text i canvieu-li el nom a NewTweetTextInput.
Estableix la propietat Default del quadre d'entrada de text a
""
.
Pas 6: Afegir un botó per publicar la piulada
Sota el quadre d'entrada de text, afegiu un control Button i definiu la seva propietat Text a aquest valor:
"Tweet"
Estableix la propietat OnSelect del botó a aquesta fórmula:
If( Connection.Connected, Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ), Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} ); SaveData( LocalTweetsToPost, "LocalTweetsToPost" ) ); Reset( NewTweetTextInput );
A la propietat OnStart de l' App, afegiu una línia al final de la fórmula:
If( Connection.Connected, ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 100} ) ); Set( statusText, "Online data" ), LoadData( LocalTweets, "LocalTweets", true ); Set( statusText, "Local data" ) ); SaveData( LocalTweets, "LocalTweets" ); LoadData( LocalTweetsToPost, "LocalTweetsToPost", true ); // added line
Aquesta fórmula determina si el dispositiu està en línia:
- Si el dispositiu està en línia, publica la piulada immediatament.
- Si el dispositiu està fora de línia, captura el tuit en una col·lecció LocalTweetsToPost i el desa al dispositiu.
A continuació, la fórmula restableix el text al quadre d'entrada de text.
Pas 7: Comprovar si hi ha piulades noves
A la dreta del botó, afegiu un control Temporitzador .
Estableix la propietat Durada del temporitzador a 300000.
Estableix les propietats AutoStart i Repeat del temporitzador a true.
Estableix l' OnTimerEnd del temporitzador a aquesta fórmula:
If( Connection.Connected, ForAll( LocalTweetsToPost, Twitter.Tweet( "", {tweetText: tweetText} ) ); Clear( LocalTweetsToPost ); ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) ); SaveData( LocalTweets, "LocalTweets" ); )
Aquesta fórmula determina si el dispositiu està en línia. Si és així, l'aplicació tuiteja tots els elements de la col·lecció LocalTweetsToPost i després l'esborra.
Provar l'aplicació
Obriu l'aplicació amb *Mobile* en un dispositiu mòbil connectat a Internet. Power Apps
Els tuits existents apareixen a la galeria i l'estat mostra Connectat.
Per desconnectar el dispositiu d'Internet, habiliteu el mode avió del dispositiu i inhabiliteu la connexió Wi-Fi.
L'etiqueta d'estat mostra que l'aplicació està fora de línia.
Mentre el dispositiu està fora de línia, escriviu un tuit que inclogui Power Apps i, a continuació, seleccioneu el botó Tweet .
El tuit s'emmagatzema localment a la col·lecció LocalTweetsToPost .
Per tornar a connectar el dispositiu a Internet, inhabiliteu el mode avió del dispositiu i habiliteu la connexió Wi-Fi.
En cinc minuts, l'aplicació publica la piulada, que apareix a la galeria.
Esperem que aquest article us doni una idea de les capacitats que té el Power Apps per a la creació d'aplicacions fora de línia. Com sempre, envieu els vostres comentaris al nostre fòrum i compartiu els vostres exemples d'aplicacions fora de línia al Power Apps blog de la comunitat.