Pesquisar este blog

segunda-feira, 27 de fevereiro de 2012

Armazenando configurações nos Gadgets / Side bar Gadgets Windows Vista/Windows 7


O que acho interessante nas tecnologias, é o como elas se cruzam e muitas vezes se completam. Os tão aclamados gadgets, foram uma das grandes novidades da Microsoft em aplicações, pois estes nada mais são do que páginas da web. Porém, em muitos sites na internet, como fórums e grupos de discussão, em diversas línguas, reside uma única dúvida.



Como armazenar as configurações parametrizadas pelo usuário em um Gadget, ou, side bar gadgets como descobri recentemente? 

Despois de árduas horas de pesquisa, encontrei em apenas um site uma solução definitiva. Portanto, o conteúdo deste post, nada mais é do que a multiplicação do conhecimento, pois, quanto mais conteúdo de um determinado assunto ou tecnologia fica disponível na internet, mais fácil a solução para determinados problemas será encontrada.
Nativamente, os Gadgets recorrem aos métodos  System.Gadget.Settings.read("parametroChave") e System.Gadget.Settings.readString("parametroChave") para ler valores de configurações relacionados à chave informada e os métodos System.Gadget.Settings.write("parametroChave", "valor") e System.Gadget.Settings.writeString("parametroChave", "valor").
E aí me veio a seguinte pergunta, e esta pode ser a sua neste momento. Qual a diferença entre writeString e write? A resposta é bem simples, ao chamar o writeString, o valor será armazenado no formato string. E qual a utilidade? Em caso de números com maior precisão, é recomendável armazená-los em String para evitar um arredondadmento, visto que usando write, deixamos a cargo do sistema, a interpretação do tipo de dados a ser gravado (o que em alguns casos, resulta em um truncamento ou perca de precisão). E feito a gravação, aonde encontro as informações gravadas?
As informação dos Gadgets em execução, geralmente podem ser encontradas no seguinte caminho:

C:\Users\Nome_de_Usuário\AppData\Local\Microsoft\Windows Sidebar

Nesta pasta, encontramos geralmente, um arquivo chamado Settings e uma pasta chamada Gadgets. No arquivo Settings.ini, ficam armazenadas todas as informações referentes as instâncias dos Gadgets em execução no Windows, como sua localização na tela entre outros. Ou seja, toda e qualquer alteração em um Gadget, resulta na atualização deste arquivo.

Partindo deste conhecimento, uma biblioteca JavaScript muito útil é o SettingsManager. Importando esta biblioteca, temos acesso aos seguintes métodos:

SettingsManager.loadFile() e SettingsManager.saveFile().

Segue abaixo um exemplo do uso desta biblioteca:

O método SettingsManager.loadFile(), carrega todas as configurações do arquivo Settings.ini localizado na pasta raíz do Gadget em memória.
Com o método SettingsManager.setValue("nome_grupo_config","chave", "valor"),  armazenamos em memória um valor associado a uma chave, pertencente a um grupo de configurações (o nome do grupo não faz muita diferença). É importante ressaltar que até o momento, nada foi escrito no arquivo
SettingsManager.getValue("nome_grupo_config","chave", valorPadrão), obtem da memória, um valor associado a uma chave, pertencente a um grupo de configurações, caso não seja possível obter este valor, será retornado o valor padrão.
O método SettingsManager.saveFile(), armazena todas as informações carregadas em memória em um arquivo Settings.ini (nome definido por padrão). Caso o arquivo não exista, ele é automaticamente criado.
E assim, independente de o computador ser reiniciado, desligado, ou o gadget fechado, todas as configurações permanecem salvas. Para maiores informações, segue o link original

Fonte: Settings Manager for Windows Vista Sidebar Gadgets

Nenhum comentário:

Postar um comentário