Emulador abre e fecha

8 respostas
saulinhomorais

Estou fazendo uns testes com Eclipse Pulsar. So que quando executo um HelloWorld, o emulador abre e fecha. Com certeza estou esquecendo de algo. Alguem sabe o que?

8 Respostas

marcelogn

posta o código…

enrico.bo

Aperta Alt+Shift+Q, C para visualisar o console e verificar as informações exibidas ao executar seu aplicativo, e aperta também Alt+Shift+Q, L para visualizar o log de erros. e passa o que tem nessas telas para análise.

saulinhomorais

Não tem nada na tela erros. Segue meu código.

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class Teste extends MIDlet implements CommandListener {
	private Display display; 
	private TextField txtHello;
	private Command cmdExit;
	private Form frmMain;

	public Teste() {
		// TODO Auto-generated constructor stub
		display = Display.getDisplay(this);
		frmMain = new Form("frmMain");
		cmdExit = new Command("Exit",Command.EXIT,1);
		txtHello = new TextField("Text", "Hello World", 15, TextField.ANY);
		frmMain.addCommand(cmdExit);
		frmMain.append(txtHello);
		frmMain.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
		display.setCurrent(frmMain);

	}
	
	protected void commandAction (Command comando){
		if (comando == cmdExit){
			try {
				destroyApp(false);
				notifyDestroyed();
			} catch (MIDletStateChangeException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
	}

	public void commandAction(Command c, Displayable d) {
		// TODO Auto-generated method stub
		
	}

}
saulinhomorais

Pessoal, deu erro sim. Tem vários la no log. Veja se isto ajuda

[list]

java.lang.NumberFormatException: For input string: "CLDC"

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Integer.parseInt(Unknown Source)

at java.lang.Integer.parseInt(Unknown Source)

at org.osgi.framework.Version.(Version.java:125)

at org.eclipse.mtj.internal.core.PreferenceAccessor.getPreverificationConfigurationVersion(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.StandardPreverifier.getCLDCConfigurationParameters(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.StandardPreverifier.constructCommandLine(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.StandardPreverifier.preverify(Unknown Source)

at org.eclipse.mtj.internal.core.project.midp.MidletSuiteProject.preverify(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.builder.ResourceDeltaBuilder.preverifyClasses(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.builder.ResourceDeltaBuilder.build(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.builder.PreverificationBuilder.preverifyProject(Unknown Source)

at org.eclipse.mtj.internal.core.build.preverifier.builder.PreverificationBuilder.doBuild(Unknown Source)

at org.eclipse.mtj.internal.core.build.MTJIncrementalProjectBuilder.build(Unknown Source)

at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)

at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)

at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)

at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)

at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)

at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)

at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

[/list]
enrico.bo

Tenta fazer o seguinte…

1 - Problemas no Application Descriptor

Ao criar um MIDlet Project no Eclipse, ele cria para você um ‘Application Descriptor’, onde você deve realizar algumas configurações.
a) De um duplo-clique em no ‘Application Descriptor’ do seu projeto,
b) Verifique que abaixo da tela principal existem várias abas, Overview, MIDlets, Optional, etc
c) Selecione a Aba MIDlets, se não possuir nenhum MIDlet na MIDlet List, clique em ADD para adicionar um novo. Na opção Class informe a classe que possuia a MIDlet que você quer executar.
d) Salve as alterações.

Caso esteja correta a MIDlet tenta fazer os passos abaixo.

1 - Na aba Windows, selecione a opção Preferences.
2 - Seleciona na aba ‘Java ME’, a esquerda da tela, a opção 'Device Management’
3 - Será exibida a direita as SDK e os emuladores disponíveis. Caso não possua é necessário adicionar um SDK para isso clique em Import e siga os passos.
4 - Caso exista verifique que um dos emuladores está selecionado como Default, selecione-o e clique em edit. Na aba libraries verifique se exista mais de uma versão para a api CLDC. Se existir, selecione a com a versão mais antiga, CLDC 1.0 no caso e clique em remove.

Tive problemas com meus emuladores que possuíam mais de uma CLDC quando eu removi uma delas eles funcionavam normalmente.

saulinhomorais

Enrico, obrigado por responder.
Chequei o Application Descriptor e está tudo ok.
Chequei os Devices e estão lá. A SDK que estou usando é do Sun Java Wireless Toolkit 2.5.2. A versão da CLDC é a 1.1. Onde consigo a versão 1.0 para eu testar?
Obrigado.

saulinhomorais

Pessoal, consegui fazer funcionar, mas ainda está dando erro. Fiz um pequeno exemplo conforme acima, ai quando executo, o eclipse nao acha a minha classe teste.
java.lang.ClassNotFoundException: Teste
Pesquisando, vi que o pessoal falou sobre onde os códigos estão. Os meus estão em D:\workspace\Testes\src\Teste.java.
Isto ajuda a vcs me ajudarem? Obrigado.

saulinhomorais

Pessoal, resolvi fazer a reinstalação do Eclipse e do Wtk.
Baixei esta versão do Eclipse Pulsar: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/R/eclipse-pulsar-helios-win32.zip
Instalei o Wtk e funcionou.
Abraço.

Criado 26 de julho de 2010
Ultima resposta 9 de ago. de 2010
Respostas 8
Participantes 3