//PESSOAL, NÃO CONSIGO GRAVAR E LER RMS - SEGUE CÓDIGO
//SE ALGUÉM PUDER PASSAR O MACETE …
import javax.microedition.lcdui.;
import javax.microedition.midlet.;
import javax.microedition.rms.*;
public class teste extends MIDlet implements CommandListener{
private Display disTela;
private Form frmTela;
private TextField txtNome;
private Command cmdGravar,cmdExibir;
// RecordStore
private RecordStore rs = null;
// nome do arquivo RecordStore
private String nome_arq="arq";
// trabalha posicao de cada registro
private RecordEnumeration posicao_reg;
public teste() {
// TODO Auto-generated constructor stub
disTela = Display.getDisplay(this);
frmTela = new Form("RMS");
txtNome = new TextField("Nome:","",20,TextField.ANY);
cmdGravar = new Command("Gravar",Command.SCREEN,0);
cmdExibir = new Command("Exibir",Command.SCREEN,1);
frmTela.addCommand(cmdGravar);
frmTela.addCommand(cmdExibir);
frmTela.append(txtNome);
try {
rs.openRecordStore(nome_arq, true);
} catch (RecordStoreFullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
frmTela.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
disTela.setCurrent(frmTela);
}
public void commandAction(Command C, Displayable D) {
// TODO Auto-generated method stub
if(C==cmdGravar){
String str=txtNome.getString();
byte[] registro = str.getBytes();
try {
int id = rs.addRecord(registro, 0, registro.length);
} catch (RecordStoreNotOpenException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreFullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(C==cmdExibir){
byte[] registro = new byte[100];
int len;
try {
for(int i=1;i<=rs.getNumRecords();i++){
len=rs.getRecord(i, registro, 0);
System.out.println("Registro # " + i +": " + new String(registro,0,len));
System.out.println("-----------------");
}
} catch (RecordStoreNotOpenException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidRecordIDException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}