Pegar String's do rms e jogar no List

2 respostas
J

Olá pessoal tenhu uma classe chamada banco.java, e tenhu o meu midlet chamado Viagem.java, eu acesso o rms na classe banco.java e a minha List tá no midlet Viagem.java como eu faço pra montar essa minha lista sendo que meu rms ta na banco.java?

OBS: O método leDado() é o método q eu criei pra imprimir os registros no console, mais to com dificuldade pra jogar esses dados pra um List

segue a classe banco:

import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;

public class Banco{

private RecordStore rs = null;
private String nomeBanco = "banco";

public Banco(){

       // conectaBanco(); Abri ou cria um record store
       // gravaDado("Jaison"); //Grava string no banco
       // gravaDado("Wireless Technology"); Grava string no banco
       // leDado(); //lê strings
       // fechaBanco(); // fecha banco
       // apagaBanco(); // remove o banco
}
// Conecta o banco
public void conectaBanco(){
try{
    // Cria um RecordStor se não existe
    rs = RecordStore.openRecordStore(nomeBanco, true );
    }catch(Exception e){
    db(e.toString());
    }
}
// Fecha banco de dados
public void fechaBanco(){
try{
    rs.closeRecordStore();
    }catch (Exception e){
    db(e.toString());
    }
}
// Deleta banco de dados
public void apagaBanco(){
       if (RecordStore.listRecordStores() != null){
       try{
           RecordStore.deleteRecordStore(nomeBanco);
           System.out.println("Banco apagado com sucesso!!!");
           }catch (Exception e){
           db(e.toString());
           }
       }
}
// Grava dados no banco
public void gravaDado(String dados){
       byte[] dado = dados.getBytes();
       try{
       rs.addRecord(dado, 0, dado.length);
       }
       catch (Exception e){
       db(e.toString());
       }
}
// Lê dados do banco
public void leDado(){
       try{
       byte[] recData = new byte[50];
       int len;
       for (int i = 1; i <= rs.getNumRecords(); i++){
           len = rs.getRecord( i, recData, 0 );
           System.out.println("Registro " + i + ": " + new String(recData, 0, len));
           System.out.println("----------------------------------");
       }
       }catch (Exception e){
       db(e.toString());
       }
}

private void db(String str){
        System.err.println("Msg: " + str);
}
}
[/b]

2 Respostas

BrunoBastosPJ

faz esse método lerDado retornar um vector contendo todas as String do banco. E chama esse método no seu MIDlet. Depois você usar os método size() para percorer todo o vector em um loop e o método elementAT( int index) para pegar o valor de cada String. Cada valor que você pegar vai adicionando no List

J

valeu bruno, ótima solução…

:grin:

Criado 1 de setembro de 2006
Ultima resposta 4 de set. de 2006
Respostas 2
Participantes 2