Este documento fornece instruções sobre como desenvolver aplicações móveis que armazenam dados de forma persistente usando o Record Management System (RMS) do JavaME. O RMS permite que dados sejam armazenados no dispositivo em formato binário usando Record Stores, que contêm unidades de armazenamento chamadas Records. A classe RecordStore fornece métodos para gerenciar registros, enquanto interfaces como RecordComparator e RecordFilter permitem ordenar e filtrar registros. Exemplos de código mostram como construir uma agenda móvel completa que lista, adiciona e
2. Objetivo
Desenvolver aplicações com persistência de dados usando o
Record Management System do JavaME.
Organize with Sections
Uma aplicação pode
armazenar múltiplos
Record stores e cada um
pode ter N registros.
3. Roteiro de Aula
Framework de
O RMS Indo para a Persistência
Prática Floggy
Record Management System (RMS)
5. O que é o RMS?
API que provê um mecanismo através do qual os MIDlets podem
armazenar dados e recuperá-los posteriormente mesmo se o
dispositivo for desligado.
O RMS armazena os
dados no dispositivo
móvel em formato
binário.
Classe Canvas
O RMS utiliza Record
Stores como
mecanismo de
persistência. Os Record
Stores são compostos
por Records, unidades
de armazenamento.
6. Classes do RMS
O pacote RMS é formado, basicamente, pela classe RecordStore e pelas
interfaces RecordComparator, RecordEnumeration, RecordFilter e
RecordListener.
As interfaces citadas fornecem recursos interessantes, tais como: navegar pelos
registros usando RecordEnumeration, filtrá-los da maneira que achar
conveniente com RecordFilter ou, ainda, ordená-los segundo qualquer critério
através da interface RecordComparator.
Além disso, o pacote possui classes de exceções, como RecordStoreFullException e
RecordStoreNotOpenException.
7. Classe RecordStore
Métodos
A classe RecordStore provê diversos
métodos para gerenciar registros em um
Record Store, incluindo as operações de
inserção, atualização e remoção de registros.
8. Interface RecordEnumeration
Métodos
A classe RecordEnumeration
provê navegação entre os
registros em ambas as direções.
15. E quanto a filtros e
ordenação?
Pode-se ter um filtro que liste apenas os nomes
que comecem com a letra J, por exemplo. Para
implementar o filtro, cria-se uma classe que
implementa a interface RecordFilter.
Pode-se, também, ordenar os nomes por ordem
alfabética. Para implementar o comparador,
cria-se uma classe que implementa a interface
RecordComparator.
18. Vamos ao desafio!
Parte 1: usando a API de interface de
alto nível LCDUI (List, Form, Alert,
etc), construa uma agenda completa,
listando, adicionando e removendo
contatos. Realize a persistência com
RMS.
Você é capaz de construir
uma agenda Parte 2: troque a interface de alto
sofisticada? nível LCDUI por uma de baixo nível,
utilizando Canvas, Sprite e demais
classes. Nesse momento, sua
aplicação deve ter comportamento e
visual de uma aplicação profissional.