Este é um post disponível para assinantes MVPArtigo Java Magazine 48 - Programação Java ME
Artigo publicado pela Java Magazine 48.

Mini
Programação Java ME
Parte 5: Persistência com File Connection e RMS
Explore as API da MIDP para persistência de dados, e conheça dicas, boas práticas e soluções para problemas e limitações comuns
Na primeira parte deste mini
O que ficou faltando? Bastante coisa, pois como vimos na parte inicial, o número de APIs disponíveis para Java ME é grande, muito embora o universo do Java ME seja bem mais “minimalista” que o do Java SE: temos menos APIs, sendo que cada API é menor e freqüentemente mais genérica que as suas correspondentes do Java SE.
Ainda falta investigarmos pelo menos duas áreas de funcionalidade essencial. A primeira é a persistência de dados, sem a qual nenhuma plataforma computacional seria levada a sério (até o meu primeiro micro, em 1987, tinha memória de massa – em fita cassete, mas tinha!). A segunda, também crítica numa plataforma wireless, é a comunicação.
Veremos neste artigo duas APIs do MIDP para persistência: a GCF (com ênfase na sua extensão para I/O de arquivos, a API File Connection) e a RMS. As APIs discutidas são simples em si, mas aproveitaremos para apresentar mais técnicas, boas práticas e dicas gerais de programação Java ME. Na próxima parte, encerraremos o mini
Retomando o projeto
Continuaremos trabalhando com o projeto MicroMandel, um gerador de fractais desenvolvido na terceira parte desta série (Edição 46). Apresentaremos somente os trechos de código alterado, mas a compreensão deste artigo não depende dos anteriores. O projeto completo e atualizado está disponível no download deste artigo.
Para quem perdeu a terceira parte, o programa MicroMandel tem uma estrutura muito simples. Temos um formulário de dados (que também é a tela inicial da MIDlet), implementado pela classe MicroMandel. Esse formulário permite editar diversos parâmetros para o cálculo do gráfico fractal. E uma segunda classe Fractal (um Canvas) é responsável pelo cálculo e exibição deste gráfico.
Este projeto foi feito originalmente com o NetBeans Mobility Pack, e continuei utilizando o mesmo ambiente ao atualizá
Ao criar o projeto no NetBeans, recomendei que todas as APIs de extensão desnecessárias fossem desativadas no projeto. Agora será necessário alterar isso. Na página de propriedades do projeto, em Platform, ative a opção File Connection and PIM Optional Packages 1.0. (O download deste artigo inclui o projeto configurado para o NetBeans com o Mobility Pack.)
Persistência
Muitas aplicações Java ME precisam armazenar dados persistentes – cujo tempo de vida excede o de processos individuais. Mas a primeira versão da MIDP foi criada sem nenhuma API para trabalhar com arquivos. Isso porque os dispositivos
Devido a estas restrições, a MIDP 1.0 introduziu a RMS, uma API de persistência simples que podia ser implementada mesmo em dispositivos com organização de memória de massa rudimentar. Por um lado a RMS habilita a portabilidade entre aparelhos, cujas APIs nativas de persistência podem ser muito diferentes. Por outro, implementa por conta própria alguns recursos que a tornam uma API bastante conveniente (para os padrões dos aparelhos mais simples).
Nos aparelhos mais recentes, no entanto, o uso de sistemas de arquivos se universalizou. Praticamente todos utilizam algum sistema de arquivos convencional, tipicamente a FAT, para organizar dados, tanto nas memórias integradas quanto em cartões de expansão. Refletindo esta evolução, a JSR
A File Connection é uma extensão da GCF (Generic Connection Framework), uma API fundamental de I/O disponível desde o MIDP 1.0. Sim, precisamos mais uma vez de APIs totalmente novas, porque as APIs de I/O da Java SE (java.io, java.net e java.nio) não foram projetadas para uma plataforma limitada – são muito grandes. No lugar delas, a MIDP possui a GCF, que com um tamanho mínimo, oferece uma funcionalidade de I/O surpreendente e é muito simples de usar.
A especificação “guarda
Dito tudo isso, por que nos preocuparmos com a RMS? Por dois motivos. O primeiro é que a RMS ainda é relevante como menor denominador comum: todos os dispositivos MIDP a suportam, inclusive os mais velhos ou de baixo custo. O segundo é que a RMS também tem as suas vantagens. Assim, exercitaremos as duas APIs neste artigo, procurando um caso de uso ideal para cada uma.
Usando a File Connection (e a GCF)
Vamos começar usando a API de persistência mais moderna, a File Connection, apenas por ser a opção mais simples e familiar. O programa de exemplo MicroMandel produz um gráfico (Figura 1) que gostaríamos de armazenar num arquivo.

Figura 1."
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


0
0
