Artigo Java Magazine 61 - Java Preferences API

Descubra como armazenar as preferências do usuário pode se tornar uma tarefa fácil e rápida, com a ajuda da API de Preferences do Java.

Esse artigo faz parte da revista Java Magazine edição 61. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Java Preferences API

Armazenando preferências do usuário sem quebrar a cabeça

Descubra como armazenar as preferências do usuário pode se tornar uma tarefa fácil e rápida, com a ajuda da API de Preferences do Java

 

De que se trata o artigo:

O artigo mostra como armazenar as preferências, explícitas e implícitas, do usuário e/ou sistema utilizando a API de Preferences do Java. Através de um estudo de caso, é feita uma comparação entre alguns dos meios que podem ser utilizados para armazenar preferências. Em seguida é apresentada a API de Preferences do Java com toda sua simplicidade e robustez.

 

Para que serve:

A API de Preferences provê uma forma extremamente simples, porém eficaz, de armazenar preferências do usuário e/ou sistema.

 

Em que situação o tema é útil:

Salvar preferências é uma funcionalidade presente em grande parte das aplicações que utilizamos no dia a dia. Portanto, esse deve ser um ponto a ser considerado na hora de desenvolver uma aplicação, principalmente quando se trata de uma aplicação desktop.

 

Java Preferences API:

Nos dias de hoje, armazenar as preferências, explícitas e implícitas, do usuário é uma característica essencial em aplicações desktop. Isto pode ser feito de diversas maneiras. Podemos implementar uma solução completa, de forma ad hoc, sem reaproveitar APIs já existentes. Outra alternativa é utilizarmos a API de Properties, que nos provê a facilidade de ler e escrever valores de propriedades (preferências) num arquivo de configuração. Porém, nenhuma dessas alternativas resolve o problema adequadamente. Nenhuma delas oferece, por exemplo, distinção entre preferências do usuário e preferências do sistema. Java, entretanto, possui uma API desenvolvida especialmente para este fim, a API de Preferences. Com ela, a tarefa de armazenar e recuperar as preferências do usuário e/ou sistema torna-se absurdamente simples. Tudo que precisamos fazer é obter um objeto Preferences relativo ao nó de preferências da nossa aplicação (ex.: através do método Preferences.userRoot().node(“com/app/pref”)) e a partir daí chamar os métodos get(), para recuperar, e put(), para armazenar o valor de alguma preferência através de sua chave.

 

Armazenar as preferências do usuário é uma funcionalidade presente em grande parte das aplicações que utilizamos no dia a dia. Estamos tão acostumados a essa facilidade que, muitas vezes, nem nos damos conta de que existem algumas dezenas ou até milhares de linhas de código responsáveis por essa característica. E não estamos falando apenas de preferências configuradas diretamente pelo usuário, como a página inicial do browser ou tamanho da fonte de um editor de texto. Estamos nos referindo também às preferências armazenadas implicitamente pelas aplicações. Um exemplo típico dessa situação acontece quando salvamos uma imagem a partir do browser e, em seguida, pedimos para salvar outra. Nesses casos, o browser geralmente armazena o diretório onde salvamos a última imagem e, na segunda vez, já abre o diálogo de "Salvar" neste mesmo diretório para facilitar nossa vida. Características simples como essa, às vezes despercebidas, podem fazer uma enorme diferença na usabilidade da aplicação e, conseqüentemente, na satisfação do usuário final.

Começamos a atinar mais para a importância dessa característica quando sentimos sua falta. Isso é bastante comum quando estamos desenvolvendo alguma aplicação, principalmente desktop, e não implementamos o suporte a esse tipo de facilidade. A Listagem 1 mostra o código da classe FileContentViewer. Esta classe representa uma aplicação Swing bem simples, que apenas lê um arquivo texto e exibe seu conteúdo na tela. O método initializeUIComponents() é responsável por montar a interface gráfica, enquanto o método loadFile() mostra um JFileChooser para que o usuário selecione um arquivo e, uma vez selecionado, mostra seu conteúdo no JTextArea. Compile o código e em seguida crie um arquivo para testes (" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados