Olá pessoal, eu criei uma classe chamada Banco.java onde criei métodos para persistência de dados em RMS (até ai tudo bem). O problema se da quando eu tento acessar da minha classe Despesas.java os métodos da classe Banco.java. Segue a baixo as classes Despesas.java, Banco.java e o erro q da no WTK:
Classe Despesas.java // vá até a condição if(c==this.inserirRMS)
public void commandAction(Command c, Displayable d){
if(d==principal){
if(c==this.acessar){
adm = new Admin();
if(camposenha.getString().equals(adm.getSenha())){
this.ticker = new Ticker("Senha correta!!!");
this.tela.setCurrent(this.index);
}else{
this.ticker = new Ticker("Senha incorreta!!!");
this.principal.setTicker(this.ticker);
}
}
if(c==this.sair){
this.destroyApp(true);
this.notifyDestroyed();
}
}
if(d==index){
if(c==this.voltar){
this.tela.setCurrent(this.principal);
}
if(c==this.inserirD){
this.tela.setCurrent(this.insere);
}
if(c==this.listarD){
}
}
if(d==insere){
if(c==this.voltarIndex){
this.tela.setCurrent(this.index);
}
if(c==this.inserirRMS){ <=== Porque quando clico nesse botão da ERRO :?:
banco = new Banco();
banco.conectaBanco();
banco.gravaDado("Jaison");
banco.leDado();
}
}
}
Classe Banco.java
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class Banco extends MIDlet{
private RecordStore rs = null;
static final String nomeBanco = "db_1";
public Banco(){
}
public void startApp(){
// There is no user interface, go ahead and shutdown
destroyApp(false);
notifyDestroyed();
}
public void pauseApp(){
}
public void destroyApp( boolean unconditional ){
}
public void conectaBanco(){
try{
// Create record store if it does not exist
rs = RecordStore.openRecordStore(nomeBanco, true );
}catch(Exception e){
db(e.toString());
}
}
public void fechaBanco(){
try{
rs.closeRecordStore();
}catch (Exception e){
db(e.toString());
}
}
public void apagaBanco(){
if (RecordStore.listRecordStores() != null){
try{
RecordStore.deleteRecordStore(nomeBanco);
}catch (Exception e){
db(e.toString());
}
}
}
public void gravaDado(String dados){
byte[] dado = dados.getBytes();
try{
rs.addRecord(dado, 0, dado.length);
}
catch (Exception e){
db(e.toString());
}
}
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("Record #" + 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);
}
}
WTK erro!
java.lang.SecurityException: Application not authorized to access the restricted API
at com.sun.midp.security.SecurityToken.checkIfPermissionAllowed(+40)
at com.sun.midp.security.SecurityToken.checkIfPermissionAllowed(+7)
at com.sun.midp.midletsuite.MIDletSuiteImpl.checkIfPermissionAllowed(+8)
at com.sun.midp.midlet.MIDletState.<init>(+78)
at javax.microedition.midlet.MIDletProxy.<init>(+5)
at javax.microedition.midlet.MIDlet.<init>(+13)
at Banco.<init>(+4)
at Despesas.commandAction(+212)
at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282)
at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(+10)
at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68)
at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+250)