Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Os usuarios móbiles a miúdo necesitan ser produtivos incluso cando teñen unha conectividade limitada ou nula. Ao crear unha aplicación de lenzo, pode realizar estas tarefas:
- Abre Power Apps Mobile e executa aplicacións cando o dispositivo non estea conectado á rede.
- Determina cando unha aplicación está sen conexión, en liña ou cunha conexión medida usando o obxecto de sinal Connection .
- Sincroniza os datos entre o teu dispositivo e o servidor.
Se a túa aplicación se conecta a Dataverse, a compatibilidade sen conexión está integrada. Power Apps permíteche descargar datos ao teu dispositivo e cargar os cambios de novo Dataverse. Se a túa aplicación non usa Dataverse, podes usar coleccións e aproveitar as funcións LoadData e SaveData para o almacenamento básico sen conexión.
Nota
- A capacidade sen conexión para aplicacións de lenzo está dispoñible mentres se executan as aplicacións usando os reprodutores Power Apps móbiles nativos en iOS, Android e Windows.
- As aplicacións de lenzo que se executan nos navegadores web non se poden executar sen conexión, incluso cando se usa un navegador web nun dispositivo móbil.
- As aplicacións de lenzo en Teams están limitadas a 1 MB de datos a través das funcións LoadData e SaveData, o que resulta útil para un pequeno número de cadeas de texto, números e datas. O uso de imaxes ou outros medios é inadecuado para este límite. Máis información: referencia ás funcións LoadData e SaveData
Activar a compatibilidade sen conexión nunha aplicación de lenzo baseada en *a* Dataverse
Para aplicacións de lenzo baseadas en Microsoft Dataverse, debes usar a funcionalidade sen conexión integrada coa experiencia sen conexión primeiro . Para obter máis información, consulte Configurar Mobile Offline para aplicacións de lenzo e Traballar con aplicacións de lenzo sen conexión. Cun só toque, a túa aplicación pode traballar con datos esteas onde esteas, con ou sen conexión de rede. Dataverse Simplemente crea a túa aplicación con fórmulas estándar e a función sen conexión encargarase de toda a complexidade por ti. Power Fx
Usar LoadData e SaveData para todos os demais conectores
Esta sección inclúe un exemplo no que se empregan datos de Twitter. Inclúese un exemplo aínda máis sinxelo que non require unha conexión na referencia das funcións LoadData e SaveData.
Mira este vídeo para aprender a crear aplicacións de lenzo sen conexión que non usen datos: Dataverse
Limitacións
LoadData e SaveData combínanse para formar un mecanismo sinxelo para almacenar pequenas cantidades de datos nun dispositivo local. Ao usar estas funcións, pode engadir capacidades sinxelas sen conexión para a súa aplicación.
Estas funcións están limitadas pola cantidade de memoria dispoñible da aplicación porque funcionan nunha colección na memoria. A memoria dispoñible pode variar dependendo do dispositivo, do sistema operativo, da memoria que Power Apps Mobile usa e da complexidade da aplicación en termos de pantallas e controis. Se almacena máis dalgúns megabytes de datos, probe a aplicación cos escenarios esperados nos dispositivos nos que espera que se execute. Normalmente terá entre 30 e 70 megabytes de memoria dispoñible.
As funcións tampouco resolven automaticamente os conflitos de combinación cando un dispositivo se conecta. A configuración de que datos se gardan e de como xestionar a reconexión corresponde ao creador ao escribir as expresións.
Despois de usar LoadData para poboar unha colección, esa colección non se pode usar para actualizar Dataverse datos que inclúan un campo de busca. Facer isto fará que o campo de busca non se actualice.
Para obter actualizacións sobre as capacidades sen conexión, volve a este tema e subscríbete ao Power Apps blog.
Visión xeral
Cando deseña escenarios sen conexión, debe considerar como funcionan as aplicacións cos datos. As aplicacións en Power Apps acceden principalmente aos datos a través dun conxunto de conectores que proporciona a plataforma, como SharePoint, Office 365 e Microsoft Dataverse. Tamén pode crear conectores personalizados que permitan ás aplicacións acceder a calquera servizo que forneza un extremo de RESTful. Isto podería ser unha API web ou un servizo como Azure Functions. Todos estes conectores usan HTTPS a través de internet, o que significa que os usuarios deben estar en liña para que poidan acceder aos datos e a calquera outra capacidade que un servizo ofreza.
Control dos datos sen conexión
En Power Apps, pode filtrar, buscar, ordenar, agregar e manipular datos de forma coherente, independentemente da orixe de datos. As orixes van desde coleccións en memoria da aplicación ata listas creadas mediante Microsoft Lists en bases de datos SQL e Dataverse. Debido a esta coherencia, pode volver tentar captar unha aplicación para usar un orixe de datos diferente. Máis importante aínda para os escenarios sen conexión, pode usar coleccións locais para a xestión de datos sen case cambios na lóxica dunha aplicación. De feito, as coleccións locais son o mecanismo principal para tratar datos sen conexión.
Crear unha aplicación sen conexión
Para manter o foco nos aspectos sen conexión do desenvolvemento de aplicacións, este tema ilustra un sinxelo escenario centrado en Twitter. Creará unha aplicación que lle permita ler publicacións de Twitter e enviar chíos sen estar conectado. Cando a aplicación entra en liña, a aplicación publica os chíos e recarga os datos locais.
A un alto nivel, a aplicación realiza estas tarefas:
Cando o usuario abre a aplicación:
- Se o dispositivo está en liña, a aplicación obtén os datos a través do conector de Twitter e enche unha colección con eses datos.
- Se o dispositivo está sen conexión, a aplicación carga os datos dun ficheiro de caché local mediante a función LoadData .
- O usuario pode enviar chíos. Se a aplicación está en liña, publica os chíos directamente en Twitter e actualiza a caché local.
Cada cinco minutos mentres a aplicación está en liña:
- A aplicación publica calquera chío na caché local.
- A aplicación actualiza a caché local e gárdaa usando a función SaveData .
Paso 1: Engadir Twitter a unha aplicación de teléfono en branco
- Crea unha aplicación de lenzo en branco con deseño Teléfono .
- No separador Visualización, seleccione Orixes de datos.
- No panel Datos , selecciona Engadir fonte de datos.
- Selecciona Nova conexión>Twitter>Crear.
- Introduza as súas credenciais, cree a conexión e, a seguir, peche o panel Datos .
Paso 2: Recompilar os chíos existentes
No panel Vista de árbore , selecciona Aplicación e, a seguir, define a súa propiedade OnStart nesta 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" );
No panel Vista de árbore , selecciona o menú de puntos suspensivos para o obxecto Aplicación e, a seguir, selecciona Executar ao inicio para executar esa fórmula.
Nota
As funcións LoadData e SaveData poden mostrar un erro en Power Apps Studio porque os navegadores non as admiten. Non obstante, funcionarán normalmente despois de aplicar esta aplicación nun dispositivo.
Esta fórmula comproba se o dispositivo está en liña:
- Se o dispositivo está en liña, a fórmula carga ata 10 chíos co termo de busca "PowerApps" nunha colección de ChíosLocais .
- Se o dispositivo está sen conexión, a fórmula carga a caché local dun ficheiro chamado "LocalTweets" se está dispoñible.
Paso 3: Mostrar os chíos nunha galería
Na lapela Inserir , selecciona Galería>Altura flexible en branco.
Define a propiedade Elementos do control Galería en
LocalTweets.No modelo de galería, engade tres controis Etiqueta e define a propiedade Texto de cada etiqueta nun destes valores:
ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)ThisItem.TweetText
Faga que o texto da última etiqueta apareza en negra para que a galería se asemelle a este exemplo.
Paso 4: Mostrar o estado de conexión
Debaixo da galería, insira unha etiqueta e, a seguir, defina a súa propiedade Cor en Vermello.
Define a propiedade Texto da etiqueta máis recente nesta fórmula:
If( Connection.Connected, "Connected", "Offline" )
Esta fórmula determina se o dispositivo está en liña. Se é así, a etiqueta mostra Conectado; se non, mostra Fóra de liña.
Paso 5: Engadir unha caixa para redactar chíos
Baixo a etiqueta de estado da conexión, insira un control Entrada de texto e cámbielle o nome NewTweetTextInput.
Define a propiedade Predeterminada da caixa de entrada de texto en
"".
Paso 6: Engadir un botón para publicar o chío
Na caixa de entrada de texto, engade un control Button e define a súa propiedade Text neste valor:
"Tweet"Define a propiedade OnSelect do botón nesta fórmula:
If( Connection.Connected, Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ), Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} ); SaveData( LocalTweetsToPost, "LocalTweetsToPost" ) ); Reset( NewTweetTextInput );Na propiedade OnStart da App, engade unha liña ao final da 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
Esta fórmula determina se o dispositivo está en liña:
- Se o dispositivo está en liña, publica o chío inmediatamente.
- Se o dispositivo está sen conexión, captura o chío nunha colección LocalTweetsToPost e gárdao no dispositivo.
A continuación, a fórmula restablece o texto na caixa de entrada de texto.
Paso 7: Comprobar se hai novos chíos
No lado dereito do botón, engade un control Temporizador .
Define a propiedade Duración do temporizador en 300000.
Define as propiedades Inicio automático e Repetición do temporizador en verdadeiro.
Define o OnTimerEnd do temporizador con esta fórmula:
If( Connection.Connected, ForAll( LocalTweetsToPost, Twitter.Tweet( "", {tweetText: tweetText} ) ); Clear( LocalTweetsToPost ); ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) ); SaveData( LocalTweets, "LocalTweets" ); )
Esta fórmula determina se o dispositivo está en liña. Se é así, a aplicación tuitea todos os elementos da colección LocalTweetsToPost e despois límpaa.
Probar a aplicación
Abre a aplicación usando Power Apps Móbil nun dispositivo móbil conectado a Internet.
Os chíos existentes aparecen na galería e o estado mostra Conectado.
Desconecte o dispositivo da internet activando o modo avión do dispositivo e desactivando a Wi-Fi.
A etiqueta de estado mostra que a aplicación está Desconectada.
Mentres o dispositivo estea sen conexión, escribe un chío que inclúa Power Apps e, a seguir, selecciona o botón Chío .
O chío almacénase localmente na colección LocalTweetsToPost .
Volva conectar o dispositivo á internet desactivando o modo avión do dispositivo e activando a Wi-Fi.
Aos cinco minutos, a aplicación publica o chío, que aparece na galería.
Agardamos que este artigo lle dea unha idea das capacidades que Power Apps ten para crear aplicacións sen conexión. Como sempre, envía os teus comentarios no noso foro e comparte os teus exemplos de aplicacións sen conexión no Power Apps blog da comunidade.