Dicas J2ME

22 respostas
angelitah

Eu estou participando de um projeto de iniciação Científica no Instituto Federal de São Paulo, onde tenho que desenvolver um sistema mobile para a biblioteca da instituição de ensino onde estudo.

O sistema deverá possibilitar que o usuário faça consultas de emprestimos, consulta de livros, verificar seu estado de pendência, além de fazer consulta, efetuar, cancelar e atualizar reservas de livros.

O problema, é que eu nunca vi J2ME na minha vida O.O e estou tendo que aprender tudo sozinha.

GOstaria que os mais experientes no assunto me dessem dicas sobre a ferramenta, me falassem onde posso baixar tutoriais para estudo e tudo que fosse me ajudar a desenvolver o projeto, principalmente, como pegar os dados de um banco através do servlet.

Se vocês pudessem me fazer este favor, eu ficaria muito agradecida.
Apesar de iniciante, sou muito esforçada e estou muito interessada em aprender.

Abraço. :-o

22 Respostas

deivid

Documentação do MIDP 2.0
http://java.sun.com/javame/reference/apis/jsr118/

Developer Resources
http://developer.sonyericsson.com
http://www.forum.nokia.com/
http://developer.lgmobile.com/
http://innovator.samsungmobile.com/
http://developer.motorola.com/

Tutorials
http://developers.sun.com/mobility/learning/tutorial/

j0nny

Bom, sobre ferramentas vc pode usar o NetBenas como MobilyPack ou o Eclipse com o WTK. Segue um link para configuração do Eclipse com WTK:
http://imasters.uol.com.br/artigo/2779/javamobile/configurando_o_eclipse_para_trabalhar_com_j2me/
E uma boa apostila pra vc que está iniciando:
http://www.cin.ufpe.br/~ragpl/pdf/Tutorial_J2ME.pdf

Bons estudos!

angelitah

Fiquei super interessada com o envento realizado pelo motodev em são paulo… --> http://developer.motorola.com/eventstraining/summit/brazil10/register/
Obrigada pela dica Deivid
Estou querendo ir _

Pena que a maioria dos sites que vc me enviou estão em inglês…
Se vc conhecer algumas versões em português, me ajudaria ainda mais, mesmo assim, meu muito obrigada…

Obrigada Também Jonny…
A apostila que vc me enviou parece ser boa…=D
Estou usando como ferramenta o Net Beans mesmo…[a que me disponibilizaram aqui]

Tenham uma boa semana…

angelitah

Como já disse, estou com desenvolvendo um projeto mobile para a biblioteca onde faço curso tecnico.

Ao compilar meu progrma, está aparecendo erro no seguinte método:

[b]public void method5() {

switch (choiceGroup2.getSelectedIndex()) {
         case 0:

            //Chamando o ormulário para efetuar reserva:
             switchDisplayable(null, getFmEfetRes());
            
             break;
         case 1:

             try {

	//Aqui estou chamando o método para consultar reserva de livros
                consultarReserva(); 
            } catch (IOException ex) {
                ex.printStackTrace();
            }

            if (true) {
        		
		//estou chamando o formulário para listar reservas
         		switchDisplayable(null, getFmListarReserva());
        		
     	} else {
        

	//Chamando alerta para mostrar que não  reservas efetuadas
         switchDisplayable(null, getAlErroListarResAtual());
        
     }

             //respConRes é a variável que está verificando se  reservas

		 if(respConRes == true){
		//estou colocando as reservas em um choiceGroup Exclusive (eu irei tratar isto depois)
//str é a variável que recebe a string com os dados do servlet
                      cgListAtuaRes.append(str, null);

                    }else
			//Configurando a mensagem do alerta.
                      alErroListarResAtual.setString("Você ainda não efetuou nenhuma reserva");

             break;
         
         
     }
         }[/b]

Eu preciso também devolver os dados no choiceGroup. Sei que o que fiz está errado[veja o método acima], e não tenho ideia de como fazer isto. Alguém poderia me ajudar por favor? Ficaria muitíssimo agradecida… _

j0nny

E qual o erro?

angelitah

Aparece a seguinte mensagem no console do net beans:

TRACE: <at java.lang.NullPointerException: 0>, Exception caught in Display class
java.lang.NullPointerException: 0
[color=red]at Biblioteca.VisualMIDlet.method5(VisualMIDlet.java:1858)
at Biblioteca.VisualMIDlet.commandAction(VisualMIDlet.java:475)[/color]
at javax.microedition.lcdui.Display$ChameleonTunnel.callScreenListener(), bci=46
at com.sun.midp.chameleon.layers.SoftButtonLayer.processCommand(), bci=74
at com.sun.midp.chameleon.layers.SoftButtonLayer.soft2(), bci=173
at com.sun.midp.chameleon.layers.SoftButtonLayer.keyInput(), bci=78
at com.sun.midp.chameleon.CWindow.keyInput(), bci=38
at javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleKeyEvent(), bci=17
at com.sun.midp.lcdui.DisplayEventListener.process(), bci=277
at com.sun.midp.events.EventQueue.run(), bci=179
[color=darkred]at java.lang.Thread.run(Thread.java:619)[/color]

j0nny

Pela mensagem, seu Display está nulo!

angelitah

vlw… Muito obrigada mais uma vez…

angelitah

Ahhh gente, estou precisando ler uma string com o delimitador “|”. Quando eu encontrar o delimitador, eu jogo o dado em um outro vetor de strings.
Alguém em ideia de como fazer isto? Me falaram pra utilizar o método StringTokenizer, mas eu não sei implementá-lo. Split também não funciona no MIDP 2.1.

Se puderem me ajudar, ficaria muitíssimo agradecida. tenham um bom dia e fiquem com Deus.

j0nny

Como eu to bonzinho hj né?
Lá vai o split:

public final static String[] split( String str, char separatorChar ) {
	      if (str == null) {
	         return null;
	      }
	      int len = str.length();
	      if(len == 0) {
	         return null;
	      }
	      Vector list = new Vector();
	      int i = 0;
	      int start = 0;
	      boolean match = false;
	      while(i < len) {
	         if(str.charAt(i) == separatorChar ) {
	            if(match) {
	               list.addElement(str.substring(start, i).trim());
	               match = false;
	            }
	            start = ++i;
	            continue;
	         }
	         match = true;
	         i++;
	      }
	      if (match) {
	         list.addElement(str.substring(start, i).trim());
	      }
	      String[] arr = new String[list.size()];
	      list.copyInto(arr);
	      return arr;
	}
angelitah

Você é sempre muito bonzinho comigo… =D

Por isso que eu adoro você… hehe

Obrigada…

Antes da sua ajuda, estava tentando resolver meu problema com este método aqui:

public static Vector split(String s)

{

String c="|";

Vector parts = new Vector();

if ( s != null )

{int lastfound = 0;

int pos = 0;

while ( (lastfound = s.indexOf(c,pos)) != - 1 )

{

parts.addElement(s.substring(pos,lastfound));

pos = lastfound+1;

}

if ( pos <  s.length() ) parts.addElement(s.substring(pos));

}

return parts;}

mas nem deu tempo de compilar, nem sei se está funcionando. o.O

j0nny

angelitah:
Você é sempre muito bonzinho comigo… =D

Por isso que eu adoro você… hehe

Obrigada…

Antes da sua ajuda, estava tentando resolver meu problema com este método aqui:

public static Vector split(String s)

{

String c="|";

Vector parts = new Vector();

if ( s != null )

{int lastfound = 0;

int pos = 0;

while ( (lastfound = s.indexOf(c,pos)) != - 1 )

{

parts.addElement(s.substring(pos,lastfound));

pos = lastfound+1;

}

if ( pos <  s.length() ) parts.addElement(s.substring(pos));

}

return parts;}

mas nem deu tempo de compilar, nem sei se está funcionando. o.O

Uau, fiquei tímido :oops:

Bom, n testei o seu código tbm, mas esse método que te passei eu uso e funciona :lol:

angelitah

.<

Muitíssimo obrigada mais uma vez… tenha um ótimo fim de semana e que o Senhor abençoe muitíssimo você… =*

angelitah

Fazendo uma pesquisa de rotina para desenvolver meu projeto eu encontrei este site aqui:

http://j2me.datamazon.com/index.php?option=com_frontpage&Itemid=1

Lá tem vários códigos fontes que podem ajudar muito quem está começando, vale a pena conferir.

O pessoal me ajudou e ajuda quando preciso, agora chegou minha vez de ajudar… :smiley:

Abraço

angelitah

Oi gente…

O sistema que fiz para a biblioteca do meu curso tecnico está habilitado para fazer login no sistema daqui.

O problema é que, antes de aparecer a tela de login, aparece a seguinte tela:

Esta tela perguntando se quero ir para o formulário de login é normal?
Pergunto isto porque não fui eu quem comecei o projeto. Iniciaram bomba e largaram pra mim… hehehehe

Tem como “retirar” esta tela? Deixando, assim, a tela de login como tela principal?

Desde já agradeço pela atenção de todos… Abraço

j0nny

Se vc estiver usando o NetBeans, é normal essa tela.
Teste num celular pra ver…

angelitah

Realmente estou usando o net beans.

No celular também fica aparecendo esta tela.

Obrigada mais uma vez J0nny… FIque com Deus

j0nny

Já tentou no Application Descriptor setar a sua Midlet?

angelitah

Não… como eu faço isto?

j0nny

Não sei no NetBeans, mas no Eclipse vc tem um arquivo Application Descriptor.
No NetBeans deve ser em propriedades do projeto, algo assim.

angelitah

Imagino então que seja em configurações de projeto. Lá tem um diretório com as classes dos componentes MIDP do Net Beans. (COnfigurações de projeto\DefaultConfiguration\org\netbeans\lcdui)
Mas eu vou deixar o programa do jeito que está pelo menos por enquanto.
Minha orientadora me deu mais um monte de coisa pra eu pesquisar e fazer.
Mas, de qualquer forma, agradeço a ajuda J0nny… Abraço…Fique com Deus

angelitah

Descobri sem querer meu problema.

Esta telinha que fica no início realmente não poderá ser retirada.

Caso contrário, o usuário não poderá entrar com outro login sem fechar o aplicativo.

Só vou ter que explicar sobre ele no manual depois…

Obrigada pela ajuda…Abraço

Criado 28 de abril de 2010
Ultima resposta 25 de mai. de 2010
Respostas 22
Participantes 3