Início rápido: dados de aplicativo em roaming
Idioma: HTML | XAML

Guia de início rápido: dados de aplicativo em roaming (XAML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Saiba como armazenar e recuperar configurações e arquivos do repositório de dados de aplicativo em roaming. Para informações sobre o repositório de dados de aplicativo em roaming e porque você deve usá-lo, consulte Dados de aplicativo em roaming.

Mapa: Como este tópico está relacionado aos outros? Veja:

Registrar para receber uma notificação quando os dados de roaming mudarem

Registre para o evento DataChanged. Este exemplo define DataChangeHandler como o manipulador para alterações de dados em roaming.


Private Sub InitHandlers()
    AddHandler Windows.Storage.ApplicationData.Current.DataChanged, AddressOf DataChangeHandler
End Sub

Private Sub DataChangeHandler(ByVal appData As Windows.Storage.ApplicationData, ByVal o As Object)
    ' TODO: Refresh your data
End Sub

Obter os contêineres das configurações e dos arquivos do aplicativo

Use a propriedade ApplicationData.RoamingSettings para obter as configurações e a propriedade ApplicationData.RoamingFolder para obter os arquivo.


Dim roamingSettings As Windows.Storage.ApplicationDataContainer = Windows.Storage.ApplicationData.Current.RoamingSettings
Dim roamingFolder As Windows.Storage.StorageFolder = Windows.Storage.ApplicationData.Current.RoamingFolder

Gravar dados em uma configuração

Use a propriedade ApplicationDataContainer.Values para acessar as configurações no contêiner roamingSettings que obtivemos na seção anterior. Este exemplo cria uma configuração chamada exampleSetting e uma configuração HighPriority que é melhor indicada para informações transicionais de tempo crítico, como o estado do aplicativo.

Observação  A configuração HighPriority não tem efeito em aplicativos da Loja do Windows Phone.


' Simple setting
roamingSettings.Values("exampleSetting") = "Hello World";
' High Priority setting, for example, last page position in book reader app
roamingSettings.Values("HighPriority") = "65";


Um objeto ApplicationDataCompositeValue contém configurações que devem ser acessadas atomicamente. Este exemplo cria uma definição composta nomeada exampleCompositeSetting e a adiciona ao contêiner roamingSettings.


' Composite setting

Dim composite As New Windows.Storage.ApplicationDataCompositeValue
composite("intVal") = 1
composite("strVal") = "string";

roamingSettings.Values("exampleCompositeSetting") = composite

Chame o método ApplicationDataContainer.CreateContainer para criar um contêiner de configurações. Este exemplo cria um contêiner nomeado exampleContainer e adiciona uma configuração nomeada exampleSetting. O valor Always da enumeração de ApplicationDataCreateDisposition indica que o contêiner deve ser criado se ele já não existir.


' Setting in a container

Dim container As Windows.Storage.ApplicationDataContainer = 
   roamingSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always)

If roamingSettings.Containers.ContainsKey("exampleContainer") Then
    roamingSettings.Containers("exampleContainer").Values("exampleSetting") = "Hello World"
End If

Ler dados de uma configuração

Use a propriedade ApplicationDataContainer.Values para acessar a configuração exampleSetting no contêiner roamingSettings.


' Simple setting

Dim value As Object = roamingSettings.Values("exampleSetting")

Use a propriedade ApplicationDataContainer.Values para acessar a configuração exampleCompositeSetting no contêiner roamingSettings.


' Composite setting

Dim composite As Windows.Storage.ApplicationDataCompositeValue = 
   CType(roamingSettings.Values("exampleCompositeSetting"), Windows.Storage.ApplicationDataCompositeValue)

If composite Is Nothing Then
   ' No data
Else
   ' Access data in composite("intVal") and composite("strVal")
End If

Use a propriedade ApplicationDataContainer.Values para acessar a configuração exampleSetting no contêiner exampleContainer.


' Setting in a container

Dim hasContainer As Boolean = roamingSettings.Containers.ContainsKey("exampleContainer")
Dim hasSetting As Boolean = False

If hasContainer Then
    hasSetting = roamingSettings.Containers("exampleContainer").Values.ContainsKey("exampleSetting")
End If

Gravar dados em um arquivo

Use as APIs de arquivo, como Windows.Storage.StorageFolder.CreateFileAsync e Windows.Storage.FileIO.WriteTextAsync, para criar e atualizar um arquivo no armazenamento de dados do aplicativo local. Este exemplo cria um arquivo chamado dataFile.txt no contêiner roamingFolder e escreve a data e hora atual no arquivo. O valor ReplaceExisting da enumeração CreationCollisionOption indica para substituir o arquivo se ele já existir.


Imports Windows.Globalization.DateTimeFormatting

Private Async Sub WriteTimestamp()
   Dim formatter As DateTimeFormatter = New DateTimeFormatter("longtime")

   Dim sampleFile As StorageFile = Await roamingFolder.CreateFileAsync("dataFile.txt", 
       CreationCollisionOption.ReplaceExisting)
   Await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
End Sub

Ler dados de um arquivo

Use as APIs de arquivo, como Windows.Storage.StorageFolder.GetFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync e Windows.Storage.FileIO.ReadTextAsync para abrir e ler um arquivo no repositório de dados de aplicativo de roaming. Este exemplo abre o arquivo dataFile.txt criado na etapa anterior e lê a data do arquivo.. Para saber detalhes de como carregar recursos de arquivos de vários locais, veja Como carregar recursos de arquivos.


Private Async Function ReadTimestamp() As Task
   Try
      Dim sampleFile As StorageFile = Await roamingFolder.GetFileAsync("dataFile.txt")
      Dim timestamp As string = Await FileIO.ReadTtextAsync(sampleFile)
      ' Data is contained in timestamp
   Catch e1 As Exception
      ' Timestamp not found
   End Try
End Function

Excluir as configurações quando já não forem necessárias

Chame o método ApplicationDataContainerSettings.Remove para excluir a configuraçãoexampleSetting do contêiner roamingSettings quando você não precisar mais dela.


' Delete simple setting

roamingSettings.Values.Remove("exampleSetting")

Chame o método ApplicationDataCompositeValue.Remove para excluir a configuração compostaexampleCompositeSetting do contêiner roamingSettings quando você não precisar mais dela.


' Delete composite setting

roamingSettings.Values.Remove("exampleCompositeSetting")

Chame o método ApplicationDataContainer.DeleteContainer e exclua o contêiner de configurações exampleContainer quando não precisar mais dele.


' Delete container

roamingSettings.DeleteContainer("exampleContainer")

Usar perfil móvel para dados através de diferentes tipos de dispositivos

Se você publicar duas versões de seu aplicativo — uma versão para a Windows Store e uma versão para a Loja do Windows Phone — será possível usar o perfil móvel em dados de aplicativos executando nos dois diferentes tipos de dispositivos. Para usar o perfil móvel em dados de diferentes versões do aplicativo, em diferentes tipos de dispositivo, designe o mesmo PFN (nome da família de pacotes) a cada versão do aplicativo.

Para obter mais informações, consulte How to roam data between a Windows Store app and a Windows Phone Store app (Como usar o perfil móvel em dados de um aplicativo da Windows Store e um aplicativo da Loja do Windows Phone)

Comentários

Cada aplicativo tem uma cota para os dados do aplicativo em roaming. Verifique a propriedade ApplicationData.RoamingStorageQuota para determinar o tamanho total permitido para os dados de roaming. Se os dados de roaming ultrapassarem a cota, o roaming não será efetuado até que o tamanho dos dados seja novamente inferior à cota.

Tópicos relacionados

Tarefas
Como carregar recursos de arquivos
Início rápido: dados locais de aplicativo
início rápido: dados temporários de aplicativo
Conceitual
Acessando dados de aplicativo com o Tempo de Execução do Windows
Diretrizes
Diretrizes de dados de aplicativo em roaming
Referência
Windows.Storage.ApplicationData
Windows.Storage.ApplicationDataCompositeValue
Windows.Storage.ApplicationDataContainer
Windows.Storage.ApplicationDataContainerSettings
Amostras
Exemplo de dados de aplicativos

 

 

Mostrar:
© 2017 Microsoft