#Este é um post fechado Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!
Artigo Java Magazine 03 - Java de Bolso
Artigo publicado pela Java Magazine 03.
Estatísticas:
Serviços:


Java de bolso
Dados em J2ME
Persistência em dispositivos com RMS e JDBC
Técnicas para gerenciamento de dados usando a API Record Management System do MIDP
O gerenciamento de dados em dispositivos com suporte a J2ME é o tema de nosso artigo nesta edição. Explicaremos o que é RMS (Record Management System), uma importante API do MIDP, mostrando vários exemplos de código. Apresentaremos também, brevemente, a API JDBC da PointBase, um framework de gerenciamento de dados que usa o RMS.
Armazenamento
Atualmente já existem dispositivos móveis, principalmente telefones celulares, que agregam muito mais recursos que um simples dispositivo de comunicação por voz, como transmissão de dados, captura de áudio e vídeo, recursos de assistentes pessoais, conexão com a internet em alta velocidade etc. Com o nível de sofisticação atual, os dispositivos precisam ter acesso à memória para ler ou armazenar dados, como preferências de usuário e cache de informações. Além disso, como a utilização de redes sem fio ainda é cara, se for possível economizar no tráfego de dados e na utilização da rede, diminuindo custos, serviços mais baratos poderão ser disponibilizados.
Existem várias tecnologias para armazenar dados localmente em dispositivos móveis. Em nível de hardware, o cartão flash é a mais comum. O acesso via software também pode ser realizado de ersas maneiras. Sistemas de arquivos ou registros são as soluções mais implementadas.
Normalmente, os dispositivos possuem dois tipos de memória: uma volátil, onde os aplicativos são carregados (quando a aplicação é finalizada ou é desligado o dispositivo, os dados contidos na memória volátil são perdidos); o segundo tipo é a memória persistente, onde são gravadas informações que devem permanecer (persistir) entre diferentes invocações das aplicações, e até depois de se desligar o dispositivo.
MIDP e RMS
O J2ME especifica suporte para um universo de dispositivos com diferentes configurações e perfis. Neste artigo vamos focar no perfil MIDP (Mobile Information Device Profile). No MIDP, a API de armazenamento de dados é o RMS.
Neste texto usaremos muito os termos MIDlets e suite de MIDlets. Vamos recordar um pouco sobre eles. MIDP é um perfil J2ME direcionado a pequenos dispositivos, como telefones celulares e pagers de duas vias. Um MIDlet é uma aplicação MIDP; uma suite de MIDlets é um agrupamento de MIDlets distribuído em um pacote JAR contendo, além dos próprios MIDlets, arquivos de recursos (imagens e propriedades, por exemplo). Associado ao arquivo JAR, existe uma descrição da suite (arquivo JAD) com o nome da aplicação, tamanho, versão e outras informações. MIDlets contidos na mesma suite podem compartilhar informações como arquivos de recursos.
A versão do MIDP que iremos cobrir é a 1.0; algumas novas funcionalidades da versão 2.0 do MIDP (em fase final de especificação) também serão indicadas.
API RMS
O RMS é o mecanismo básico de persistência usado por MIDlets. A API de RMS está localizada no pacote javax.microedition.rms, e possui as seguintes classes e interfaces (excluindo as classes de exceções): RecordStore, RecordEnumeration, RecordComparator, RecordFilter e RecordListener.
Cada suite de MIDlets possui um banco de dados contendo várias tabelas de registros, chamadas RecordStores. O número de RecordStores para uma suite de MIDlets é limitado apenas pela capacidade de armazenamento do dispositivo. Quem os cria é o MIDlet (Figura 1). Um RecordStore contém registros; cada registro guarda um agrupamento de bytes (Figura 2).

Figura 1. RecordStores e suites de MIDlets no MIDP

Figura 2. RecordStore e registros
A implementação de leitura e gravação é feita de maneira a garantir consistência e integridade dos registros durante o uso normal do dispositivo e em situações como troca de baterias, desligamento, invocações de diferentes MIDlets ao mesmo RecordStore etc. Mas, se uma aplicação usa mais de uma thread para acessar o mesmo RecordStore, é responsabilidade do MIDlet sincronizar a leitura e a gravação para evitar problemas de corrupção de dados.
Veja algumas regras na utilização de RecordStores:
ATENÇÃO! A EXIBIÇÃO DESTE ARTIGO FOI INTERROMPIDA.
#Este é um post fechado Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!





Curso Online - Introdução ao AJAX Reverso

(tutorial) Aprenda a persistir dados em suas aplicações Java utilizando Hibernate

Desenvolvendo uma aplicação completa utilizando Swing

Introdução ao JDBC

Java Web: Saiba como Desenvolver Aplicações utilizando Spring, Hibernate e JSF na Prática

OLAP com o SQL Server

Introdução à Engenharia de Requisitos

Curso OnLine WebDesign - Desenvolvendo o layout de um WebSite passo a passo




[vídeo] Array no ViewData: Curso ASP.NET MVC 2.0 com Visual Studio 2010 - Parte 14

Mineração de Repositórios de Software: A Computação ajudando à Computação.

Boas-vindas

Boas-vindas

Mineração de Repositórios de Software: A Computação ajudando à Computação.

[vídeo] Teste Automatizado: Codificação do UserTest - Curso JEE e JSE – Loja Virtual Completa – Parte 17

[vídeo] MD5 com Delphi: Usando o Método Locar - Curso Aplicação Financeira Delphi 2009 e MySQ – Parte 32

[vídeo] MD5 com MySQL: Utilizando a função para Logar - Curso Aplicação Financeira Delphi 2009 e MySQL – Parte 31

Trabalhando com Cache - Parte 2


Você está em:





Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

