Este blog Mudou

Este Blog mudou-se para:

sábado, 9 de junho de 2007

Java Micro Edition: Exemplo usando o Record Management System

Eita que o título ficou longo viu? Diga aí se não parece título de monografia? Mas não dava pra colocar "J2ME : Exemplo usando RMS" ninguém entenderia não é?
Bom pessoal, mas esse é um exemplo simples de como se pode gravar dados em uma aplicação JavaME.
Neste exemplo temos duas caixas de texto uma para informar o nome e outra para informar um telefone:
Então você três comandos na tela:
          • Gravar - Adivinha? Grava os dados exibidos na tela para o RMS
          • Limpar - Esse você acerta! Chuta! É evidentemente apaga o banco de dados RMS atual
          • Sair - Cai fora sem fazer nada
Detalhe interessante nessa implementação é que eu estou usando o ByteArrayInputStream e ByteArrayOutputStream para realizar a gravação dos dados no RMS.

Observe que para usar estes dois também uso DataInputStream e DataOutputStream para poder usar métodos mais amigáveis como o writeUTF() ao invés de ter que lidar com o tamanho de cada campo os DataInputStream fazem isso pra mim.

Abaixo tem o trecho de código que faz isso:

ByteArrayOutputStream dados;
//array onde ficará o registro
dados = new ByteArrayOutputStream();
//interface de gravação de dados no array
//ajuda a trabalhar mais facilmente com o byteArray
DataOutputStream gravador = new DataOutputStream(dados);
try {
gravador.writeUTF(nome);
gravador.writeUTF(fone);
gravador.flush();
} catch (IOException ex) {
ex.printStackTrace();
rs.closeRecordStore();
return false;
}
//gravando o registro no RMS
rs.setRecord(id,dados.toByteArray(),0,dados.size());
rs.closeRecordStore();

Para baixar o exemplo clique em Exemplo Java ME Record Management System está compactado em formato zip e é um projeto do Netbeans dê uma olhada na pasta dist/docs para maiores explicações do código.

Obs.: esse código foi testado no emulador da Sun e nos celulares Motorola V360 e Siemens SL75, acredito que deverá funcionar em qualquer dispositivo com suporte a JavaME, mas se você encontrar dificuldades avise aí pelos comentários.

Opa! agradecimento ao meu brother Timeu por liberar o Motorola V360 dele como cobaia hihihih aí vai o link pro blog sobre photoshop dele que ele não atualiza desde janeiro! , e Tércio por liberar o Siemens SL75 dele.

3 comentários:

Photoshop e outras cositas... ^_^ disse...

aeeee... emu V360 hein... xD
official tester!
ehhehehe

JoW ( Jodoval Luiz dos Santos Junior) disse...

essa parada d rms foi a parada mais complicada do curso d j2me!!! ateh agora n entrou direito na minha cabeça...

Tadeu Ferreira disse...

Opa Cara! é meio chatinho de trabalhar por causa do stream e talz mas qualquer dúvida entra em contato.