| By Thienne M Johnson,
on 09-12-2007 15:40
|
/* Java para Dispositivos Móveis - Desenvolvendo aplicações com J2ME por Thienne M. Johnson Novatec Editora LTDa ISBN: 978-85-7522-143-3 */
package rms;
import javax.microedition.rms.RecordComparator; import javax.microedition.rms.RecordEnumeration; import javax.microedition.rms.RecordStore; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.util.*; import principal.Clientes; import principal.Produtos; import principal.Pedidos;
public class RmsVenda{ private Vector vecNomes; public RmsVenda() { vecNomes = new Vector(); }
public RecordStore abrirRecordStore(String nome){ try{ return RecordStore.openRecordStore(nome, true); }catch (Exception e){ return null; } } public void closeRecordStore(RecordStore rs){ try{ rs.closeRecordStore(); }catch (Exception e){} } public void adicionarRegistroClientes(RecordStore rs, String nome){ try{ ByteArrayOutputStream BAOS = new ByteArrayOutputStream(); DataOutputStream DOS = new DataOutputStream(BAOS); DOS.writeUTF(nome); byte [] bRec = BAOS.toByteArray(); rs.addRecord(bRec,0,bRec.length); DOS.close(); BAOS.close(); } catch (Exception e) { System.out.println(e); } } public void adicionarRegistroProdutos(RecordStore rs, String nome, float preco){ try{ ByteArrayOutputStream BAOS = new ByteArrayOutputStream(); DataOutputStream DOS = new DataOutputStream(BAOS); DOS.writeUTF(nome); DOS.writeFloat(preco); byte [] bRec = BAOS.toByteArray(); rs.addRecord(bRec,0,bRec.length); DOS.close(); BAOS.close(); } catch (Exception exc) { } } public void adicionarRegistroPedido(RecordStore rs, String cliente, String produto, int qtd){ try{ ByteArrayOutputStream BAOS = new ByteArrayOutputStream(); DataOutputStream DOS = new DataOutputStream(BAOS); DOS.writeUTF(cliente); DOS.writeUTF(produto); DOS.writeInt(qtd); byte [] bRec = BAOS.toByteArray(); rs.addRecord(bRec,0,bRec.length); DOS.close(); BAOS.close(); } catch (Exception exc) { } }
public Vector listarRegistros(RecordStore rs){ RecordEnumeration rEnum = null; vecNomes.removeAllElements(); ComparadorNome c = new ComparadorNome(); try{ rEnum = rs.enumerateRecords(null,c,false); if (rEnum.numRecords()== 0) { if (rs.getName()=="BancoClientes"){ Clientes item = new Clientes("Clientes não cadastrados",0); vecNomes.addElement(item); }else if (rs.getName()=="BancoPedidos"){ Pedidos item = new Pedidos("Pedidos não cadastrados", "", 0, 0); vecNomes.addElement(item); }else if (rs.getName()=="BancoProdutos"){ Produtos item = new Produtos("Produtos não cadastrados", 0, 0); vecNomes.addElement(item); } } else { while(rEnum.hasNextElement()){ int id = rEnum.nextRecordId(); byte[] dados = rs.getRecord(id); ByteArrayInputStream BAIS = new ByteArrayInputStream(dados); DataInputStream DIS = new DataInputStream(BAIS); if (rs.getName()=="BancoClientes"){ String nomeLido = DIS.readUTF(); Clientes item = new Clientes(nomeLido, id); vecNomes.addElement(item); }else if (rs.getName()=="BancoProdutos"){ String nomeLido = DIS.readUTF(); float preco = DIS.readFloat(); Produtos item = new Produtos(nomeLido, preco, id); vecNomes.addElement(item); } else{ String clienteLido = DIS.readUTF(); String produtoLido = DIS.readUTF(); int quantidadeLido = DIS.readInt(); Pedidos item = new Pedidos(clienteLido, produtoLido, quantidadeLido, id); vecNomes.addElement(item); } } } } catch (Exception exc) { } finally { rEnum.destroy(); } return (vecNomes); }
public void apagarRegistros(RecordStore rs, Vector vecNomes, boolean[] flags){ for (int i=0; i<flags.length; i++){ if (flags[i]==true){ try{ if (rs.getName()=="BancoPedidos"){ Pedidos item = (Pedidos)vecNomes.elementAt(i); rs.deleteRecord(item.getRecordId()); }else if (rs.getName()=="BancoClientes"){ Clientes item = (Clientes)vecNomes.elementAt(i); rs.deleteRecord(item.getRecordId()); }else{ Produtos item = (Produtos)vecNomes.elementAt(i); rs.deleteRecord(item.getRecordId()); } } catch (Exception e){System.out.println(e);} } } } public void zerarRegistros(RecordStore rs, String nomeRS){ try { rs.closeRecordStore(); RecordStore.deleteRecordStore(nomeRS); } catch (Exception e){ System.out.println(e); } } }
class ComparadorNome implements RecordComparator { public int compare(byte [] reg1, byte [] reg2) { try{ ByteArrayInputStream BAIS = new ByteArrayInputStream(reg1); DataInputStream DIS = new DataInputStream(BAIS); String nome1 = DIS.readUTF(); DIS.close(); BAIS.close(); ByteArrayInputStream BAIS2 = new ByteArrayInputStream(reg2); DataInputStream DIS2 = new DataInputStream(BAIS2); String nome2 = DIS2.readUTF(); DIS2.close(); BAIS2.close(); if (nome1.compareTo(nome2) < 0 ){ return PRECEDES; }if (nome1.compareTo(nome2) > 0 ){ return FOLLOWS; } } catch (Exception e) { System.out.println(e); } return EQUIVALENT; }
}
|
|
|
| Users' Comments |
|
Average user rating
(0 voto)
|
|
Adicionar comentário
|