Erro de aplicativo ao passar aplicação para o celular

1 resposta
lesfar

Olá pessoal.

Estou iniciando (hoje) em j2me e desenvolvi um aplicativo simples somente para eu ter uma base de como desenvolver algo que tenho em mente. Funcionou perfeito no emulador do netbeans, mas ao rodá-lo em meu celular (Sony Ericsson w200i) ele simplesmente acusa erro de aplicativo e não inicia. Se puderem me dar uma ajuda agradeceria.

Estou usando as especificações do club-java.com (MIDP-2.0 e CLDC-1.1).

[url]http://www.club-java.com/TastePhone/J2ME/MIDP_Java_telephone.jsp;jsessionid=D592A52B247F0F98C8C9FEFFDD06E4AB?l=pt&m=772&brand=SonyEricsson&model=W200i[/url]

Em seguida o código dos dois arquivos.

Obrigado.

Midlet Player, inicia a aplicação
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Player extends MIDlet {
    
    private Display display;
    
    public void startApp() {
        
        this.display = Display.getDisplay(this);
        
        new Show(this);
        
    }
    
    public void destroyApp(boolean unconditional) {
    }
    
    public void setDisplayable(Displayable displayable) {
        
        this.display.setCurrent(displayable);
        
    }

    protected void pauseApp() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
}
Classe Show, saída (tela) para o usuário
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;

/public class Show extends Canvas implements CommandListener {
    
    private Player player;
    
    private Command command_exit;
    
    private int key_pressed;    
    
    public Show (Player player) {
        
        this.player = player;
        
        this.command_exit = new Command("Sair", Command.EXIT, 0);
        
        this.addCommand(this.command_exit);
        this.setCommandListener(this);
        
        this.player.setDisplayable(this);
           
    }

    public void commandAction(Command command, Displayable displayable) {
        
        if (command == this.command_exit) {
            this.player.destroyApp(false);
            this.player.notifyDestroyed();
        }
        
    }

    public void paint(Graphics graphics) {
        graphics.setColor(255, 255, 255);
        graphics.fillRect(0, 0, 128, 160);
        graphics.setColor(0, 0, 0);
        graphics.drawRect(0, 0, 128, 160);
        graphics.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_LARGE));
        graphics.drawString(this.getNote(), 62, 72, Graphics.LEFT|Graphics.TOP);
    }
    
    protected void keyPressed(int key_code) {
       this.key_pressed = Integer.parseInt(getKeyName(key_code));
       repaint();
    }
    
    private String getNote() {
        switch (this.key_pressed) {
            case 1 : return "C";
            case 2 : return "D";
            case 3 : return "E";
            case 4 : return "F";
            case 5 : return "G";
            case 6 : return "A";
            case 7 : return "B";
        }
        
        return "";
    }

}

E bem, gostaria muito de dividir os comandos de entrada do usuário da classe de feedback para o usuário, mas não consegui por ter de herdar a classe Canvas e por ela implementar o método KeyPressed. Se não for encomodo me darem algumas dicas de programação tmb. Mas aqui meu principal objetivo no momento é saber o porque de não funcionar em meu cel.

Obrigado

1 Resposta

lesfar

Resolvido, não sei como, mas resolvido.

Obrigado.

Criado 10 de setembro de 2008
Ultima resposta 12 de set. de 2008
Respostas 1
Participantes 1