Menu Travado

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…