Erro RMS j2me

07/09/2009

0

O programa faz uma lista de compras e quando clico em adicionar o item na lista, gostaria q tb gravasse na memoria do celular.
Ele até grava, porém somente uma vez. De inicio ele já dá o erro java.lang.NullPointerException: 0 q vem do metodo leBD(); Depois tentando deletar java.lang.ArrayIndexOutOfBoundsException.
Não estou conseguindo achar erros por isso pesso a ajuda de vcs.
A finalidade é enviar e receber esta lista via bluetooth para j2se. Poderiam me ajudar com alguma dicas?
Se quiser o programa completo só pedir. Obrigado
Abaixo vai o cria , insere , deleta e le. Qualquer erro estou disposto a ouvir pois é minha primeira aplicação.
Ele pega as informações de 3 textField (produto,quantidade,preco) e coloca num list.

public void criaBD(){   
    try{   
        rslista = RecordStore.openRecordStore("bdlista", true);   
        System.out.println("Nome do Banco "+rslista.getName()+   
                       "\nNúmero de registros = "+rslista.getNumRecords()+   
                       "\nEspaço ocupado = "+rslista.getSize()+   
                       "\nEspaço disponível = "+rslista.getSizeAvailable());   
    }catch(Exception e){   
        System.out.println("Não foi possível criar o BD: "+e);   
    }   
  
}   
  
public void insereDado(){   
    try{   
        ByteArrayOutputStream bStream = new ByteArrayOutputStream(); //manipulação byte a byte   
        DataOutputStream dStream = new DataOutputStream(bStream); //fluxo q pega bytes e transforma em dados   
        dStream.writeUTF(textField.getString());   
        dStream.writeUTF(textField2.getString());   
        dStream.writeUTF(textField1.getString());   
        dStream.flush(); //força escrever na memoria   
        byte [] dados = bStream.toByteArray(); //recebe e transforma em array   
        if (flag == true)   
            rslista.addRecord(dados, 0,dados.length); //grava de 0 bytes ate o tamanho total da String   
        else  
            rslista.setRecord(Integer.parseInt(vetRegistro.elementAt(list.getSelectedIndex()).toString()), dados, 0, dados.length);   
        bStream.close();   
        dStream.close();   
  
    }catch(Exception erro){   
        System.out.println("Erro ao inserir dados. "+erro);   
    }   
}   
  
public void leBD(){   
    try{   
        while (list.size() >0){   
            list.delete(0);} //limpar a lista   
        ByteArrayInputStream iStream = null;   
        DataInputStream diStream = null;   
        relista = rslista.enumerateRecords(null, null, false); //pega os registros do bd (igual ResultSet)   
        int id = 0;   
        byte[] dados = null;   
        vetRegistro.removeAllElements();   
  
        while (relista.hasNextElement()){              
            id = relista.nextRecordId(); //pega a posição dos registros   
            vetRegistro.addElement(""+id);   
            dados = rslista.getRecord(id);   
            iStream = new ByteArrayInputStream(dados); //vai iniciar byte por byte   
            diStream = new DataInputStream(iStream); // pega os bytes do iStream e transforma em dados   
            list.append (diStream.readUTF()+" - ("+diStream.readUTF()+") - R$ "+diStream.readUTF(),null);   
        }   
       iStream.close();   
       diStream.close();   
    }catch(IOException erro){   
       System.out.println("Erro io dados. "+erro);   
    }catch (Exception e){   
        System.out.println("Erro lendo dados. "+e);   
    }   
}   
  
 public void deletar(){   
     try{   
         int indice = list.getSelectedIndex();   
         rslista.deleteRecord(Integer.parseInt(vetRegistro.elementAt(indice).toString()));   
         leBD();   
  
     }catch(Exception erro){   
         System.out.println("Não conseguiu deletar. "+erro);   
     }   
 }  
 



Emersantos

Emersantos

Responder

Posts

09/09/2009

Dyego.carmo

Cole aqui o Excelop COMPLETO...


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar