startApp e construtor do MIDlet

4 respostas
N

É realmente necessário criar um método construtor para um MIDlet, levando-se em conta que existe o método startApp() ? Tem algum efeito no desempenho codificar instruções iniciais no startApp() ou no construtor da Classe?

4 Respostas

K

O único problema de se utilizar o startApp inicializar alguma coisa é que o startApp() não é chamado uma vez só como o construtor,ele é chamado no inicio e de depois após cada pauseApp() embora seje bem simples contornar, eu acho que inicializações devam ficar no construtor.

N

Se o startApp() é chamado após cada pauseApp() então temos um pequeno problema.
Imagine um jogo onde cada tela diferente represente uma fase. Supondo que no startApp() esteja o menu do jogo, após cada pauseApp(), não importa se o jogador está na trigésima fase, ele voltaria para a tela de menu.

K

Bem é como eu comentei é muito simples evitar isso.

Display display = null;
public void startApp() throws MIDletStateChangeException {
    if (display == null) {
        display = Display.getDisplay(this);
     }else{
         //Sabe que é volta de pauseApp    
     }

e também como eu falei eu pessoalmente acho melhor por inicializações no construtor.

C

“NewbieJava”:
Se o startApp() é chamado após cada pauseApp() então temos um pequeno problema.
Imagine um jogo onde cada tela diferente represente uma fase. Supondo que no startApp() esteja o menu do jogo, após cada pauseApp(), não importa se o jogador está na trigésima fase, ele voltaria para a tela de menu.

Basta que no método pauseApp vc “guarde” qual fase que está.
E no staretApp vc sempre abra uma “Current Screen”.
Essa current screen seria uma referencia a tela atual do aplicativo.
Isso deve ser implementado por vc.

Até mais!

Criado 9 de agosto de 2006
Ultima resposta 9 de ago. de 2006
Respostas 4
Participantes 3