J2ME - Um pouco mais que "Hello World"

19 respostas
Rafael_Steil

Este artigo tem como objetivo preparar não só um ambiente de desenvolvimento J2ME de uma maneira simples e prática, mostrando e explicando passo a passo tudo o que foi feito, mas também fazer um esquema de geração de pacotes com o Ant.

O artigo foi escrito pelo Leonardo Gall. Confira em http://www.guj.com.br/java.artigo.161.1.guj

19 Respostas

sergiolopes

bem legal o artigo! eh um pouquinho grande pq eh mto detalhista, mas da pra pular mtos screenshots…

só fiquei numa duvida: como fica o desenvolvedor j2me no linux? pelo q fala o artigo, usa-se o emulador da Siemens, mas só ha versao pra Windows no Site deles.

Umlauf

Muito bom!

leogall

Olá Pessoal,

Realmente o artigo é muito detalhado, mas a idéia é justamente essa, quem já tem uma boa noção pode ir pulando alguns pontos, mas quem não tem essa noção não encontrará problemas, é um artigo que serve para todos.

Eu estou fazendo uma continuação deste artigo, no momento estou tratando de Forms, Commands, Alerts, Lists e TextBoxes, na terceira versão irei ver como farei para tratar justamente do desenvolvimento em Linux e também como desenvolver para PalmOS…

Este Tutorial/Artigo está sempre sofrendo altereções…

Críticas, dúvidas e sugestões são sembre bem vindas…

Diogenes

Excelente!

Parabéns pelo artigo!
Toda a galera do GUJ fica muito feliz por sua contribuição!

Que venham muitos mais! :smiley:

jujo

Legal kra…
como disseram eh bem detalhista… dei uma olhada nele aqui =) bem legal

só uma pergunta, pq ao invés do ANT para chamar o emulador da siemens ja não fizeste com o WTK??? não ficaria mais fácil?!

Não desmerecendo o trabalho… Ficou bem legal mesmo!!

Abraços!

leogall

De maneira alguma vejo isso como um “desmerecimento” eu até agradeço qualquer tipo de questionamento, afinal o meu objetivo é ajudar :slight_smile:

Eu estou evitando utilizar o WTK pq o meu objetivo é não utilizar das ferramenta que já vem “configuradas” como é o caso do WTK, nele vc já pode sair codificando e testar no seu próprio emulador, o meu objetivo é continuar esse artigo mostrando como usar emuladores de outros fabricantes, até mesmo de PalmOS, hoje o artigo que está no GUJ tem apenas 39 páginas mas eu já estou em fase de revisão da sua continuação que juntando com o artigo atual ficará com aproximadamente 58 páginas e não parará por aí, ainda abordarei assuntos como CVS, multimidia, RMS, JMock, JavaDOC, leitura de XML, dentre muitos outros…

Eu espero ter explicado bem :slight_smile:

kuchma

Opa - de artigo o negocio esta evoluindo para livro. Parabens! :smiley:

Marcio Kuchma

leogall

A ideia é justamente essa :slight_smile:

jujo

Parabens kra!

O empenho é sempre válido!
embora a sua idéia seja legal, a produtividade sempre fala mais alto =)
e existem skins para acoplar no WTK.

=)

abraços!

leogall

Olá Jujo,

Gostei da sua observação, mas eu não vejo porque o ANT não seria produtivo, poderiamos abrir um tópico só para discutir sobre isso, acho que seria muito bom, o que vc acha?

Mesmo assim a questão da produtividade é muito relativa, pois o q é bom para uns pode não ser bom para outros, tudo depende da necessidade de cada um, o que eu pude observar durante o tempo que eu tenho com o desenvolvimento (J2ME) é que as empresas adotam o Eclipse com o emulador do fabricante (NOKIA, SIEMENS, etc), enquanto ao ANT, que já vem com o eclipse, é uma ferramenta muito utilizada hoje em dia e possibilita muitas facilidades, vc tem o trabalho de fazer o XML apenas uma vez e não ficará alterando sempre, além disso desta maneira tudo o que for relacionado ao seu projeto estará no eclipse, mais pra frente neste meu tutorial eu vou mostrar algumas coisas que o ANT poderá fazer, como enviar email caso ocorra algo inesperado, manipular CVS, javaDOC, Criar/Copiar/Mover/Excluir Arquivos, Criar/Copiar/Mover/Excluir diretórios, dentre outros…

jujo

=)
hehehe
não estou aqui para discutir sobre a produtividade do ANT… tenho certeza que ele é muito poderoso, inclusive o uso muito, XDocLets tbm…

O que qeuro falar eh que o WTK é super bom com todas as ferramentas de monitoramento de memoria, com várias configurações como MHz do processador, Taxa de transferencia, etc…

e isso já estando integrado ao eclipse já é uma mão na roda =)

Mas realmente é válida sua posição =) há casos em que fica melhor usar um Emulador do próprio fabricante, embora muitas vezes alguns Simulam e não emulam, principalmente a taxa de transferencia, e isso quando eles tem alguma setagem para isso.

=)
abraços!

Rubem_Azenha

excelente artigo, leitura para quem realmente não sabe nada de j2me e para quem sabe também

parabéns

só faltou uma conclusão… :stuck_out_tongue:
mas é de -

leogall

Realmente faltou a conclusão, essa eu fico devendo, mas no próximo artigo que está em fase de revisão eu prometo que coloco :slight_smile:

J

Configuração do computador:
WTK22;
jdk1.5.

Seção: WTK
1- No conceito: “O WTK (Wireless Toolkit) é responsável pelo gerenciamento do projeto, ou seja, compila, pré-verifica e empacota (JAR) as MIDlets;”
O WTK faz a pré-verificação com o preverify.exe.Mas não localizei um javac.exe e um jar.exe. Como então WTK22 pode compilar e empacotar?A compilação e empacotamento do WTK é diferente do jdk?

Seção: Primeira(o) MIDlet
1- Na 3ª Tela: Platform Definition, Se eu tivesse escolhido opção:
Siemens CX65 (International) - meu caso
O HelloWorld ainda funcionaria? Qual é o impacto dessa mudança?

Seçao: Criando o Arquivo .JAD
1- O meu jad somente rodou com esse configuração do jad:
MIDlet-1: HelloWorld, , HelloWorld
MIDlet-Jar-Size: 0
MIDlet-Jar-URL: HelloWorld.jar
MIDlet-Name: HelloWorld
MIDlet-Vendor: Sun Microsystems
MIDlet-Version: 1.0
2- Os parâmetros do manifest.mf são importantes? Quais?

Seçao: Executando a MIDlet:
3- O emulador que executa é o da pasta C:\siemens\SMTK\emulators\CX65\bin\emulator.exe. O HelloWorld não funciona Utilizando o emulador do WTK22. Porque?

Seção: Incrementando o Ant
1- Na linha:

na verdade seria:

2- Na linha:

seria:

Seção: Executando o emulador:
1- Na linha:

Seria na verdade:

Isso para que ocorra ant funcione beleza.

Duvidas gerais:
1- Porque a necessidade do WTK e do SMTK juntos? Eu ainda tenho uma clareza sobre o que é responsabilidade de quem.
Por exemplo, de acordo com o artigo o SMTK é para utilizar o emulador, mas o WTK também tem, e porque então não utilizar somente o emulador do WTK?

Conclusão:
O seu artigo está de parabens. Me ajudou muito para fazer meu primeiro MIDlet entendendo tudo do começo até o fim.
Esses pontos que coloquei são sugestões para possíveis revisões para que você der uma olhada depois e ver se precisa ou não de modificações.
Fui detalhista porque trabalho na área de teste e qualidade, e não faço isso para derrubar o trabalho dos autores mas para melhorar e são nos detalhes que estão as diferenças de um bom trabalho para um não tão bom.

leogall

James,

Antes de mais nada obrigado pelas “críticas/sugestões”, elas são sempre bem vindas.

Respondendo suas pergunta:

O WTK é realmente responsável por tudo isso, porém neste caso não utilizamos de todos os seus recursos, pois possuimos um Emulador Siemens (SMTK) que para o nosso objetivo é a melhor opção, pois mostra como a aplicação se comportará no tal dispositivo, isso pode ser feito com emuladores de outras marcas de celulares. Os parametros do manifest.mf podem ficar em branco como descrito no artigo… O MIDlet que roda no SMTK deve funcionar no WTK, a não ser que você estaja utilizando de API´s da Siemens, aí não tem como… Poderiamos utilizar no artigo apenas o Emulador que vem junto ao WTK, mas desta forma não mostrariamos como utilizar de um Emulador externo, o meu objetivo foi mostrar o que uma pessoa vai realmente utilizar, quando vc for desenvolver uma MIDlet vc vai ter que utilizar de dispositivos reais e com os Emuladores como o SMTK por exemplo vc chega mais perto disso.

Mais uma vez agradeço pelas sugestões, elas sempre serão bem vindas, quando fizer a revisão deste artigo levarei em consideração seus comentários, caso se interesse estou publicando um novo artigo, no momento está em faze de revisão, caso queira dar as suas sugestões é só pedir que eu mando para vc…

J

Cara eu ficaria honrado em poder ajudar, quando puder, envier para mim. Um abraço.

I

Fala pessoal, tudo bom? Estou tendo problemas em fazer o MIDLet rodar, será que vocês podem me ajudar?
é o seguinte, meu jar, meu jad e meu java estão na mesma pasta, estou tentando acessar assim:

emulator -Xdescriptor:"C:\Java\JavaProjects\HelloWorld\src\HelloWorld.jad"

Ele abre o emulador e diz:

java.lang.NegativeArraySizeException

   (stack trace incomplete)

numa tela escrito smtk utilities

J

leogall,

Eu suponho que vc já tenha conhecimento desse matérial da nokia que descreve um processo utilizando Ant e Antenna para MIDP, mas não custa informar:

http://www.forum.nokia.com/main/1,,040,00.html?fsrParam=3-3-/main.html&fileID=3232

Foi indicado em outro forum.

Meu e-mail para enviar o artigo é: [email removido]

V

Uma dúvida.

Como faria para acrescentar o Antenna no teu xml que criasse ?

Estou tento problema na criação do Jar, Jad e descobrir que o Antenna seria uma boa ferramenta para solução dos meus problemas. Poderias me ensinar como acrescentar o antenna no teu xml ?

Desde já agradeço sua atenção.

Criado 27 de dezembro de 2004
Ultima resposta 26 de abr. de 2006
Respostas 19
Participantes 11