Acessando dados de aplicativo com o Tempo de Execução do Windows (aplicativos do Tempo de Execução do Windows)

Applies to Windows and Windows Phone

Dados de aplicativo são dados mutáveis específicos a determinado aplicativo. Eles incluem estado de tempo de execução, preferências de usuário e outras configurações. Os dados de aplicativos são criados, lidos, atualizados e excluídos durante a execução do aplicativo.

Recomendamos que os aplicativos de desktop usem o Registro para armazenar as configurações e a pasta Program Files para armazenar os arquivos. Nós recomendamos que os aplicativos do Tempo de Execução do Windows usem repositórios de dados de aplicativo para configurações e arquivos específicos a cada aplicativo e usuário. O sistema gerencia os repositórios de dados de um aplicativo, assegurando que eles sejam mantidos isolados de outros aplicativos e usuários. O sistema também preserva o conteúdo desses repositórios de dados quando o usuário instala uma atualização de seu aplicativo e remove totalmente o conteúdo desses repositórios de dados quando o aplicativo é desinstalado.

A amostra de dados de aplicativo demonstra como usar as APIs de dados de aplicativo do Tempo de Execução do Windows para armazenar e recuperar dados que são específicos a cada usuário e ao aplicativo do Tempo de Execução do Windows.

Observação importante sobre os dados do aplicativo:  O tempo de vida dos dados de aplicativo está vinculado ao tempo de vida do aplicativo. Se o aplicativo for removido, como consequência todos os dados do aplicativo serão perdidos. Não use dados do aplicativo para armazenar dados do usuário ou qualquer coisa que os usuários possam perceber como valioso e insubstituível. Recomendamos que as bibliotecas do usuário e o OneDrive sejam usados para armazenar esse tipo de informações. Os dados do Aplicativo são ideais para armazenar as preferências, as configurações e os favoritos do usuário específicos ao aplicativo.

Armazenamento de dados de aplicativo

Quando um aplicativo é instalado, o sistema concede a ele seus próprios repositórios de dados por usuário para dados de aplicativo como configurações e arquivos. Você não precisa saber onde ou como esses dados existem, porque o sistema é responsável pelo gerenciamento do armazenamento físico. Basta usar a API de dados do aplicativo, o que facilita o trabalho com seus dados de aplicativos.

Estes são os repositórios de dados:

local

Dados que existem no dispositivo atual e têm backup na nuvem.

roaming

Dados que existem em todos os dispositivos nos quais o usuário instalou o aplicativo.

temporários

Dados que podem ser removidos pelo sistema a qualquer momento.

localcache

Os dados persistentes que existem apenas no dispositivo atual.

Se o seu aplicativo for removido, esses repositórios de dados serão excluídos.

Como opção, você pode converter os dados do aplicativo para seu aplicativo. Isso permite que você crie uma versão futura de seu aplicativo que altere o formato de seus dados de aplicativo sem causar problemas de compatibilidade com a versão anterior do aplicativo. O aplicativo verifica a versão dos dados de aplicativo no repositório de dados e, se a versão for inferior à versão esperada, o aplicativo atualizará os dados de aplicativo para o novo formato e atualizará a versão. Para saber mais, veja a propriedade Application.Versione o método ApplicationData.SetVersionAsync.

Configurações de aplicativo

As configurações no repositório de aplicativos são armazenadas no Registro. Quando você usa a API de dados do aplicativo, o acesso ao Registro é transparente. Em seu repositório de dados, cada aplicativo possui um contêiner raiz de configurações. Seu aplicativo pode adicionar configurações e novos contêineres ao contêiner raiz. Crie novos contêineres para ajudá-lo a organizar suas configurações. Observe que os contêineres podem ser aninhados em até 32 níveis, sem restrições de amplitude da árvore.

Use configurações compostas para lidar com facilidade com atualizações atômicas ou configurações interdependentes. O sistema assegura a integridade das configurações compostas durante o acesso e o roaming. As configurações compostas são otimizadas para pequenas quantidades de dados e o desempenho pode ser ruim se você as utilizar para conjuntos grandes de dados.

As configurações do aplicativo podem ser locais ou roaming. As configurações que seu aplicativo adiciona ao repositório de dados local estão presentes apenas no dispositivo local. O sistema sincroniza automaticamente as configurações que seu aplicativo adiciona ao repositório de dados de roaming em todos os dispositivos nos quais o usuário instalou o aplicativo.

A maioria dos tipos de dados do Tempo de Execução do Windows tem suporte para configurações de aplicativo.

Observe que não há um tipo binário. Se precisar armazenar dados binários, use um arquivo de aplicativo.

Você não pode atribuir diretamente outros tipos de objetos a dados de aplicativos. Você pode serializar dados para um dos tipos de dados com suporte; por exemplo, você pode serializar seus dados como JSON e armazená-los como uma cadeia de caracteres, mas é preciso lidar com a serialização.

O sistema assegura que o tamanho dos dados gravados correspondam ao tamanho do tipo de dados. O sistema não valida os dados, então você precisa verificar se os dados foram alterados entre o momento em que você os gravou e os leu novamente.

Arquivos de aplicativo

Os arquivos no repositório de aplicativos são armazenados no sistema de arquivos. Os aplicativos podem usar arquivos no repositório de dados do aplicativo assim como usam arquivos na parte AppData do perfil do usuário no Windows 7. Em seu repositório de dados de aplicativo, cada aplicativo possui diretórios-raiz definidos pelo sistema: um para arquivos locais, um para arquivos roaming e um para arquivos temporários. Seu aplicativo pode adicionar novos arquivos e novos diretórios ao diretório raiz. Crie novos diretórios para ajudá-lo a organizar seus arquivos. Observe que os diretórios no repositório de dados do aplicativo podem ser aninhados em até 32 níveis, sem restrições de amplitude da árvore.

Os arquivos do aplicativo podem ser locais ou roaming. Os arquivos que seu aplicativo adiciona ao repositório de dados local estão presentes apenas no dispositivo local. O sistema sincroniza automaticamente os arquivos que seu aplicativo adiciona ao repositório de dados de roaming em todos os dispositivos nos quais o usuário instalou o aplicativo.

Dados de aplicativo local

Dados de aplicativo local devem ser utilizados para informações que precisam ser preservadas entre sessões de aplicativo e não são do tipo ou tamanho adequado, para dados de aplicativo de roaming. Dados que não são aplicáveis a outros dispositivos devem ser armazenados aqui também. Não há restrição de tamanho geral para dados locais armazenados. Local está disponível por meio da propriedade localFolder. Use o repositório de dados locais de aplicativo para dados que não precisam usar perfil móvel e para conjuntos de dados maiores.

Para um exemplo de código, veja:

Dados de aplicativo em roaming

Se você usa dados roaming em seu aplicativo, seus usuários poderão manter com facilidade os dados de aplicativo do aplicativo em sincronia com vários dispositivos. Se um usuário instalar seu aplicativo em vários dispositivos, o SO mantém os dados do aplicativo sincronizados, reduzindo a quantidade de configurações que o usuário precisa realizar no aplicativo no segundo dispositivo. O roaming também permite que os usuários continuem uma tarefa, como a composição de uma lista, exatamente do ponto onde pararam, mesmo que em um dispositivo diferente. O SO replica os dados roaming para a nuvem quando eles são atualizados e sincroniza os dados com os outros dispositivos nos quais o aplicativo está instalado.

O SO limita o tamanho dos dados de aplicativo para roaming em cada aplicativo. Veja ApplicationData.RoamingStorageQuota | roamingStorageQuota. Se o aplicativo chegar ao limite, nenhum de seus dados de aplicativo serão replicados para a nuvem até que todos os dados de aplicativo em roaming estejam abaixo do limite novamente. Por essa razão, a prática recomendada é usar dados roaming apenas para preferências do usuário, links e pequenos arquivos de dados.

Normalmente, um aplicativo não espera que seus dados mudem. No entanto, dados de aplicativo roaming podem ser alterados a qualquer momento. Um aplicativo deve se registrar para lidar com o evento DataChanged | datachanged, que ocorre sempre que dados roaming do aplicativo são alterados.

Se os dados de aplicativo em um dispositivo forem atualizados para uma nova versão porque o usuário instalou uma nova versão do aplicativo, os dados do aplicativo serão copiados para a nuvem. O sistema não atualizará os dados do aplicativo para outros dispositivos nos quais o usuário tiver instalado o aplicativo até que o aplicativo seja atualizado também nesses dispositivos.

Os dados de roaming de um aplicativo estarão disponíveis na nuvem desde que sejam acessados pelo usuário por meio de algum dispositivo dentro do intervalo de tempo necessário. Se o usuário não executar um aplicativo por mais tempo do que esse intervalo de tempo, os dados de roaming serão removidos da nuvem. Se um usuário desinstala um aplicativo, os dados de roaming não são removidos automaticamente da nuvem, eles são preservados. Se o usuário reinstalar o aplicativo dentro do intervalo de tempo, os dados de roaming serão sincronizados pela nuvem. A política atual especifica que esse intervalo de tempo é de 30 dias. Local está disponível por meio da propriedade roamingFolder.

O sistema operacional faz roaming dos dados do aplicativo de maneira oportuna e não garante uma sincronização instantânea. Em situações onde um usuário está offline ou em uma rede de alta latência, pode haver um atraso significativo no roaming. Há uma unidade especial de configurações de alta prioridade disponível que oferece atualizações mais frequentes para configurações importantes e urgentes. Ela é limitada a uma unidade de configurações específica que deve ser nomeada “HighPriority” (Alta Prioridade). Ela pode ser uma composição, mas o tamanho total é limitado a 8 KB. Esse limite não é imposto e a unidade de configuração ou composição de configuração será tratada como uma unidade ou composição de configuração normal se o limite for ultrapassado.

Para um exemplo de código, veja:

Para obter diretrizes, consulte Diretrizes para dados de aplicativo em roaming.

Dados temporários de aplicativo

O repositório de dados temporários de aplicativo funciona como um cache. Os arquivos não se movimentam e podem ser removidos a qualquer momento. A tarefa Manutenção do Sistema pode excluir automaticamente dados armazenados neste local a qualquer momento. O usuário também pode limpar arquivos do repositório de dados temporários usando a Limpeza de Disco. Dados temporários de aplicativo podem ser usados para armazenar informações temporárias durante uma sessão de aplicativo. Não há garantia de que esses dados persistirão além do fim da sessão do aplicativo, pois o sistema pode recuperar o espaço usado, se necessário. O local está disponível por meio da propriedade temporaryFolder.

Para um exemplo de código, veja:

Interfaces de programação de dados de aplicativo

Tópicos relacionados

Diretrizes
Diretrizes de dados de aplicativo em roaming
Diretrizes de configurações de aplicativos
Exemplos
Amostra de configurações do aplicativo
Amostra de dados do aplicativo

 

 

Mostrar:
© 2015 Microsoft