Mas como tem serviço de RSSFeed, deve implementar socket certo?
Então essa hipótese pode ser descartada…
Correto, isto é um dos motivos, aliado posteriormente também a falta de configuração da aplicação para não mais perguntar.
Veja, para a pergunta sumir, além da aplicação ser assinada, ela tb deve ser configurada para não mais perguntar. Isto se faz no aparelho.
Vamos separar as coisas:
Uma coisa é o vc ter uma aplicação nativa de RSS que usa socket.
Outra coisa é esta funcionalidade ter sido exposta a implementação Java do aparelho. Como socket tem que existir em qualquer aparelho MIDP 2.0 (no 1.0 era opcional), então teoricamente você tem socket sim disponível e que pode ser usado normalmente.
Tem como assinar o Midlet para fazer um teste? Digo se tem como fazer sem custos como já fiz para um applet…
Negativo.
Quer assinar, tem que pagar.
Então não tem como eu testar a conexão socket no meu celular, somente no emulador…?
Lógico que tem, basta você responder a pergunta que aparece na tela e a aplicação naturalmente vai se conectar.
Cansei de fazer isto na minha vida de J2ME…
Então ai é que está o problema! Eu aceito a pergunta porém não conecta… só no emulador…
Tem certeza mesmo que está fazendo conforme a cartilha:
- A conexão é realizada dentro de uma thread
- Vc está capturando qualquer exceção e lançando na tela
- Seu celular está com a APN configurada corretamente
Isto é o básico para funcionar.
Sim só esta APN que não sei como se configura pode me explicar?
Não posso. Depende do fabricante e as vezes no mesmo fabricante fica em lugares diferentes.
Recomendo exercitar mais seu dom de fuçador para passar a conhecer melhor o seu aparelho.
O ideal era vc encontrar o local onde está armazenado isto, jogar fora o que está lá, e ligar na operadora pedindo para enviarem novamente as configurações de acesso a internet por SMS.
Descubri que o problema não está não conexão. Ela acontece com sucesso.
Acontece o seguinte:
InputStream is = null;
SocketConnection client = null;
try {
client = (SocketConnection) Connector.open("socket://");
} catch (IOException ex) {
ex.printStackTrace();
}
Até aqui normal no emulador e no celular...
instancio: try {
is = client.openInputStream();
} catch (IOException ex) {
Error = "(is) "+ex.getMessage();
ex.printStackTrace();
}
Aí está o problema… no emulador funcionar, mas no celular da erro neste trecho e não consigo pegar a mensagem…
Tenho quase a absoluta certeza d q vc não está jogando esta exception na tela.
To sim olha só. Fiz dois programas para teste
Primeiro:
InputStream is = null;
SocketConnection client = null;
String Exception = "Conectando...";
try {
client = (SocketConnection) Connector.open("socket://");
} catch (IOException ex) {
Exception = "Falha na conexão".concat(ex.GetMessagem());
ex.printStackTrace();
}
Exception = "Conectou!";
Neste primeiro programa a variável Exception já vai pra tela com o valor “conectando…” pinto na tela o novo valor dela depois da conexão com sucesso…: “Conectou!”
Segundo programa:
InputStream is = null;
SocketConnection client = null;
String Exception = "Conectando...";
try {
client = (SocketConnection) Connector.open("socket://");
} catch (IOException ex) {
Exception = "Falha na conexão".concat(ex.GetMessagem());
ex.printStackTrace();
}
try {
is = client.openInputStream();
} catch (IOException ex) {
Exception = "Falha ".concat(ex.GetMessagem());
ex.printStackTrace();
}
Exception = "Conectou!"
Neste segundo programa a variável Exception já vai pra tela com o valor “conectando…” adicionei este segundo bloco e ai a coisa já não vai.
pinto na tela a variável mas ela está com valor inicial “Conectando…”
Por isso sei que o erro está sendo gerado neste bloco mas não estou conseguindo ver a causa…
Lmebrando que no emulador funciona normalmente… estes testes foram feitos no celular que é onde ocorre o problema…
2 coisas:
-
Pelo amor d D…adicione as tags para postar código formatado
-
Posta o código completo para vermos onde vc tá fazendo caquinha
Então se puder me explicar como postar o código desta forma…
Obrigado.
[quote=lzoratto]Então se puder me explicar como postar o código desta forma…
Obrigado.[/quote]
Caracas meu… já foi explicado no início do tópico.
Use as tags code
Pois é tive que perguntar a outra pessoa para entender que se tratava de (code) e no fim (/code). Desculpe mas pelas explicações anteriores não tinha ficado claro para mim.
Consegui pegar a descrição do erro
Acontece na conexão com o servidor: javax.microedition.io.ConnectionNotFoundException:socket open: failed
Porém isso só acontece no celular. No emulador se conecta normalmente…