logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

Erro RMS j2me
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> JME - Java Micro Edition
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
emersantos
Novato


Registrado em: Segunda-Feira, 7 de Setembro de 2009
Mensagens: 1

MensagemEnviada: Seg Set 07, 2009 2:12 pm    Assunto: Erro RMS j2me Responder com Citação

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.

C?o:
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);   
     }   
 } 
 
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
dyego.carmo
Novato


Registrado em: Sexta-Feira, 14 de Agosto de 2009
Mensagens: 42

MensagemEnviada: Qua Set 09, 2009 8:20 am    Assunto: exception Responder com Citação

Cole aqui o Excelop COMPLETO...
_________________
Controverso, eu ?
http://www.go-java.com/blog
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> JME - Java Micro Edition Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibído.
Responder Tópicos Proibído
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB