Olá!
Estou tentando criar uma comunicação entre várias aplicações j2me em um mesmo aparelho. Elas gravam informações diversas em RMS, exceto uma, que apenas verifica quais RMS se encontram no aparelho:
[code]import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordStore;
public class ListaRecords extends MIDlet {
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
Display display = Display.getDisplay(this);
Form form = new Form("RMS");
int k = 0;
try {
String[] records = RecordStore.listRecordStores();
k = 1;
for (int i = 0; i < records.length; i++) {
k = 2;
form.append(records[i]);
k = 3;
form.append("\n");
}
k = 4;
display.setCurrent(form);
} catch (Exception e) {
Alert alert = new Alert("Não há records a serem mostrados!",
"Encontrado " + e.toString() + " em " + k, null,
AlertType.ALARM);
display.setCurrent(alert);
}
}
}
[/code]
Funciona muito bem no Wireless Toolkit 2.5.2, mas não no meu celular (UPDATE:um nokia 5310) ou no meu palm (um z22). Sempre obtenho o erro relatado na exceção assim:
“Não há records a serem mostrados!”,"Encontrado NullPointerException em 1"
Sendo assim, é óbvio que o listRecordStores tá sempre retornando null, apesar das aplicações possuírem dados gravados! (posso garantir isso, afinal, cada aplicação consegue recuperar infos passadas acessando seus respectivos rms).
Minha dúvida é se alguém já passou por esse problema e conseguiu resolver, ou se existe um outro procedimento a ser feito para esse caso. Obrigado!