Sou novato nessa área de Java ME e estou desenvolvendo um aplicativo que faz o uso da api JSR 179, a api de location.
O meu aplicativo quando executado no emulador funciona corretamente, mas quando rodo no celular de testes ocorre o erro NoClassDefFoundError.
O celular que estou utilizando para testes é um HTC com Windows Mobile 6. Fiz alguns testes e parece que o celular não está dando suporte para a devida JSR mas não tenho certeza.
Se alguém tiver alguma idéia pra dar será muito bem vinda.
Encontrei o mesmo problema para o eu Samsung Omnia, o qual também tem Windows Mobile 6.1.
Fui ver as especificações técnicas e ele não suporta o JSR 179, o que acredito que seja por causa do Windows, já que o próprio Windows “disponibiliza” uma COM para acessar os recursos do GPS. Mas não encontrei como usar ainda.
Mas sugiro que procure no próprio site da HTC para ter certeza que seu aparelho não dá o suporte mesmo ao JSR 179. Acredito que não dê, devido ao erro NoClassDefFoundError.
Obc.: Tive pensando em fazer uma aplicação em C#, o qual deve ter acesso ao GPS do celular por alguma API, e desenvolver um serviço que aceite conexões socket, simplesmente para acessar o GPS. Mas estou pensando ainda, procurando se não consigo acessar as funcionalidade diretamente com a COM.
Porque no site da HTC não encontrei nada inclusive mandei um email para eles para confirmar essa informação. Encontrei um site na internet que tem algumas informações mas não sei se é confiável.
Encontrei o mesmo problema para o eu Samsung Omnia, o qual também tem Windows Mobile 6.1.
Fui ver as especificações técnicas e ele não suporta o JSR 179, o que acredito que seja por causa do Windows, já que o próprio Windows “disponibiliza” uma COM para acessar os recursos do GPS. Mas não encontrei como usar ainda.
Mas sugiro que procure no próprio site da HTC para ter certeza que seu aparelho não dá o suporte mesmo ao JSR 179. Acredito que não dê, devido ao erro NoClassDefFoundError.
Obc.: Tive pensando em fazer uma aplicação em C#, o qual deve ter acesso ao GPS do celular por alguma API, e desenvolver um serviço que aceite conexões socket, simplesmente para acessar o GPS. Mas estou pensando ainda, procurando se não consigo acessar as funcionalidade diretamente com a COM.
Vamos tentar chegar a uma solução juntos.
Abraços.
Tauan.
[/quote]
Separe as coisas. Uma COM é uma coisa e a API é outra. São dois métodos diferentes de obter informação de lat/long.
O 1o é quando vc quer interfacear com um GPS externo e o segundo com um interno.
As configurações do GPS disponíveis no Windows Mobile 6.1 tem a opção de selecionar a COM pela qual o aplicativo vai se comunicar com o GPS.
Diz o seguinte: “Escolha a porta que os programas usarão para obter dados de GPS. Qualquer programa que use GPS precisará se comunicar com esta porta.”
No meu caso, por exemplo, o IGO8 usa a COM3, a mesma porta que eu configurei no Windows.
O que eu quis dizer, que uma das opções é eu desenvolver uma aplicação em C# que utilize uma API da Microsoft para acessar o GPS (a qual estive pesquisando no MSDN), e caso queira acessar de uma aplicação J2ME, utilizaria uma porta socket e um protocolo desenvolvido especificamente por mim, para obter as informações de long/lat.
A segunda opção seria desenvolver em JAVA, uma classe que acesse diretamente a COM, sem necessitar da aplicação C# ou API da Microsfot. Mas o problema é o protocolo que devo usar para acessar as funções do GPS, para se comunicar com a COM.
Então, COM é uma coisa (uma opção de acessar diretamente pelo JAVA, se tiver o protocolo de comunicação com o Windows) e API é outra coisa (Utilizar alguma API da Microsoft para acessar as funções do GPS através de C#). Mas ambos são métodos para obter informações de lat/long.
Então, API ou COM, GPS interno ou externo, essas são duas soluções que pensei, já que o Windows Mobile não dá suporte ao JSR 179.
O site parece confiável, onde as especificações do meu celular batem, assim como o do N95, entre outros. Assim acredito que o seu HTC esteja batendo também.
Enfim, é bem provável que teremos que desenvolver outra maneira de acessar o GPS, estou fazendo uns testes para acessar diretamente a COM, se achar alguma outra maneira me de um toque. Manteremos contato para achar uma solução.
E o erro NoClassDefFoundError é lançado quando não encontra uma determinanda classe no CLASSPATH da aplicação, outro indício que seu dispositivo não tem suporte a JSR-179.