Midp

pessoal… axo q ateh entendi o q vcs me disseram sobre midp no meu ultimo post [http://www.guj.com.br/posts/list/69641.java], e depois procurei seguir um tutorial q tem aki no guj [http://www.guj.com.br/java.tutorial.artigo.39.1.guj] q eh o persistencia com midp, e quando vou fazer a aplicação aparece a msg de erro dessas linha

catch (RecordStoreNotFoundException e) { System.out.println("-- RecordStore inexistente"); }

gostaria de sabe o q segnifica isso, e como eu posso consertar…

o erro ja diz, aplicação não conseguiu achar o registro.

o tutorial ta dizendo até veja :

"A classe de exceção RecordStoreNotFoundException extende RecordStoreException que é a classe base para todas as exceções RMS. A exceção RecordStoreException é levantada se o record store não puder ser criado por falta de espaço ou algum erro interno. "

tipo, lê todo tutorial com calma.
o aplicativo só chama essa mensagem caso não exista o registro.

kra eu li isso ateh, porem isso naum conseguiu me exclarecer nd ele soh diz “A exceção RecordStoreException é levantada se o record store não puder ser criado por falta de espaço ou algum erro interno”, mas como seria por falta d espaço se eu estou testando isso no meu pc e se for um erro interno, quais poderiam ser??

vc populou o recordStore ?

isso acontece quando eu vou tentar popular…

mostra seu código de como você esta gravando os dados.

[code]public void open() {
try {
rs.deleteRecordStore(RS_NAME);
rs = RecordStore.openRecordStore(RS_NAME, true);
}
catch (RecordStoreNotFoundException e) {
System.out.println("-- RecordStore inexistente");
}
catch (RecordStoreException e) {
System.out.println("-- Outro erro");
}
}

public void close() {
try {
rs.closeRecordStore();
}
catch( RecordStoreNotOpenException e ){
System.out.println("-- O Record Store esta fechado");
}
catch( RecordStoreException e ){
System.out.println("-- Outro erro");
}
}

public void add(String nome) {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeUTF(nome);
dos.flush();
byte[] data = baos.toByteArray();
int id = rs.addRecord(data, 0, data.length);
baos.close();
dos.close();
}
catch (IOException e) {
System.out.println("-- Erro de IO");
}
catch (RecordStoreFullException e) {
System.out.println("-- Não existe espaço disponível");
}
catch( RecordStoreNotOpenException e ){
System.out.println("-- O Record Store esta fechado");
}
catch( RecordStoreException e ){
System.out.println("-- Outro erro");
}
}[/code]

String item = textField1.getString(); open(); add(item); close();

cara da uma olhada nesse tutorial aqui e tenta fazer o que vc quer.
http://www.javafree.org/javabb/viewtopic.jbb?t=5853

agora parece q esta gravando porem por akele tutorial naum estou conseguindo ver os resultados dah um erro de IO

depois de muita batalha consegui cadastrar e resgatar os dados, porem…rs

tem um problema os dados estaum sendo exibidos d uma forma estranha como se fosse encriptados tds desse tipo:

[B@39fa39fa
[B@3aa83aa8
[B@3b563b56
[B@3c673c67
[B@3d153d15

ahh e como eu naum sei se o problema tah no meu codigo entaum lah vai :

public void addItem(String item) {
    try {  
        Runtime.getRuntime().freeMemory();  
        byte [] dados = item.getBytes();  
        int id = rs.addRecord(dados, 0, dados.length); 
    } catch(RecordStoreNotFoundException e) {
        System.out.println(" - record store naum encontrado");
    } catch(RecordStoreException rse) {  
        //System.out.println(rse.printStackTrace());
        System.out.println(" - outro erro");
    }
}


public String getRecord(int id) {
	String toReturn = "";
	try {
		Runtime.getRuntime().freeMemory();  
                byte [] dados = rs.getRecord(id);
                toReturn = dados.toString();
	}
	catch (ArrayIndexOutOfBoundsException e) {
		System.out.println("-- Registro muito grande");
	}
	catch (InvalidRecordIDException e) {
		System.out.println("-- ID inexistente");
	}
	catch (RecordStoreNotOpenException e) {
		System.out.println("-- O Record Store esta fechado");
	}
	catch (RecordStoreException e) {
		System.out.println("-- Outro erro");
	}
	return toReturn;
}

public String[] get_itens() {
       try {
                itens = new String[rs.getNumRecords()];
                imageItens = new Image[rs.getNumRecords()];
                itens[0] = "texto 001";
                for (int i = 1; i < rs.getNumRecords(); i++) {
                    System.out.println(getRecord(i));    
                    itens[i] = getRecord(i);
                }
	}
	catch (RecordStoreNotOpenException ex) {
		System.out.println("-- O Record Store esta fechado");
	}
        return itens;
}