Desenvolver aplicacións de lenzo con capacidade sen conexión
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:
- Abra Power Apps Mobile e execute aplicacións sen conexión.
- Determine cando unha aplicación está sen conexión, en liña ou nunha conexión medida usando o obxecto de sinal Conexión.
- Use coleccións e aproveite as funcións LoadData e SaveData para o almacenamento de datos básicos cando estea sen conexión.
Nota
- A capacidade offline agora está integrada coa vista previa da primeira experiencia sen conexión para aplicacións baseadas Microsoft Dataverse. Máis información: Configurar móbil sen conexión para aplicacións de lona (vista previa), Traballar con aplicacións de lona sen conexión (vista previa)
- A capacidade sen conexión para aplicacións de lona só está dispoñible mentres executa as aplicacións usando os reprodutores móbiles Power Apps 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, útiles 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 de función LoadData e SaveData
Este artigo inclúe un exemplo usando datos de Twitter. Un exemplo aínda máis sinxelo que non require unha conexión está incluído na referencia das funcións LoadData e SaveData.
Mire este vídeo para aprender a crear aplicacións de lenzo compatibles co modo sen conexión:
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.
Para as actualizacións sobre capacidades sen conexión, volva a este tema e subscríbase ao blog de Power Apps.
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 aos datos principalmente a través dun conxunto de conectores que a plataforma proporciona, 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 usando 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
- Cree unha aplicación de lenzo en branco cun deseño de Teléfono.
- No separador Visualización, seleccione Orixes de datos.
- No panel Datos, seleccione Engadir orixe de datos.
- Seleccione Nova conexión > Twitter > Crear.
- Insira as túas credenciais, cree a conexión e logo peche o panel Datos.
Paso 2: Recompilar os chíos existentes
No panel Visualización en árbore, seleccione Aplicación e logo configure 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 Visualización en árbore, seleccione o menú de puntos suspensivos para o obxecto Aplicación e logo seleccione Executar OnStart para executar esa fórmula.
Nota
As funcións LoadData e SaveData poden mostrar un erro en Power Apps Studio porque os exploradores 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 LocalTweets.
- 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
No separador Inserir, seleccione Galería > Altura flexible en branco.
Axuste a propiedade Elementos do control Galería en
LocalTweets
.No modelo da galería, engada tres controis de Etiqueta e configure a propiedade Texto de cada etiqueta cun 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
Na galería, insira unha etiqueta e logo configure a súa propiedade Cor en Vermello.
Axuste 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 Sen conexión.
Paso 5: Engadir unha caixa para redactar chíos
Na etiqueta de estado de conexión, insira un control Entrada de texto e cámbielle o nome a NewTweetTextInput.
Configure a propiedade Valor predefinido da caixa de entrada de texto en
""
.
Paso 6: Engadir un botón para publicar o chío
Na caixa de entrada de texto, engada un control Botón e configure a súa propiedade Texto neste valor:
"Tweet"
Axuste 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 Aplicación, engada 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
Na parte dereita do botón, engada un control Temporizador.
Axuste a propiedade Duración do temporizador en 300000.
Axuste as propiedades AutoStart e Repeat do temporizador en true.
Estableza o valor de OnTimerEnd do temporizador nesta 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 chía todos os elementos da colección LocalTweetsToPost e, despois, elimina a colección.
Probar a aplicación
Abra a aplicación usando Power Apps Mobile 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á Sen conexión.
Mentres o dispositivo está sen conexión, escriba un chío que inclúa Power Apps e logo seleccione 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, proporcione comentarios no noso foro e comparta os seus exemplos de aplicacións sen conexión no blog da comunidade de Power Apps.
Nota
Pode indicarnos as súas preferencias para o idioma da documentación? Realice unha enquisa breve. (teña en conta que esa enquisa está en inglés)
Esta enquisa durará sete minutos aproximadamente. Non se recompilarán datos persoais (declaración de privacidade).
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios