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?
posta o código…
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.
Não tem nada na tela erros. Segue meu código.
[code]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
}
}
[/code]
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]
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.
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.
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.
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.