HttpConnection no emulador ok, no Nokia 6060 dá erro

5 respostas
flaviojr77

Estou tentando faz 2 semanas fazer um programa simples - o mais simples possivel - que conecta numa página em PHP, envia uma string e recebe uma resposta e exibe isso num StringItem.

No emulador da Nokia S40 funciona que é uma beleza. Porém ao copiar o programa para o celular (Nokia 6060) e dar permissão para ele poder usar a rede ele retorna Illegal Argument java/lang/IllegalArgumentException.

Observação: se eu uso o browser do celular para testar - funciona - isso quer dizer não é problema de conexão do celular

Fonte completo do programa:

import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class Principal extends MIDlet implements CommandListener {
    
    private Display display;
    private String url = "http://www.market.com.br/junior/enquete.php?usuario=";
    private Form f;
    private TextField userField, respostaField;
    private Command consultarCommand;
    
    public Principal() {
        display = Display.getDisplay(this);
        
        // monta fields
        userField     = new TextField("Usuário" , "Junior", 20, TextField.ANY);
        respostaField = new TextField("Resposta", "", 20, TextField.ANY);
        
        // monta form
        f = new Form("Teste de HTTP");
        f.append(userField);
        f.append(respostaField);
        
        // comando
        consultarCommand = new Command("Consultar", Command.SCREEN, 1);
        f.addCommand(consultarCommand);
        f.setCommandListener(this);
        
        // form é o display atual
        display.setCurrent(f);
    }
    
    public void commandAction(Command command, Displayable displayable) {
        
        if (command == consultarCommand) {
            String usuario = userField.getString().toLowerCase();
            
            try {
                testGET(url + usuario);
            } catch (IOException e) {
                System.out.println("IOException " + e);
                e.printStackTrace();
            }
        }
    }
    
    void testGET(String url) throws IOException {
        
        HttpConnection connection = null;
        InputStream is = null;
        OutputStream os = null;
        StringBuffer stringBuffer = new StringBuffer();
        
        try {
            
            connection = (HttpConnection)Connector.open(url);
            
            os = connection.openOutputStream();
            is = connection.openDataInputStream();
            
            int ch;
            while ((ch = is.read()) != -1) {
                stringBuffer.append((char) ch);
            }
            
            respostaField.setString(stringBuffer.toString());
        } catch (Exception e) {
            
            String x = e.toString();
            respostaField.setString(x);
            
            
        } finally {
            
            if(is!= null) {
                is.close();
            }
            
            if(os != null) {
                os.close();
            }
            
            if(connection != null) {
                connection.close();
            }
        }
    }
    
    private void mostra(String a) {
        Alert alerta = new Alert("Atenção", a, null, AlertType.INFO);
        alerta.setTimeout(10000);
        display.setCurrent(alerta);
    }
    
    public void startApp() {    }
    public void pauseApp() {    }
    public void destroyApp(boolean unconditional) {   }
}

Alguém poderia por favor me dar uma luz? :(

5 Respostas

dipeloco

Eu tive o mesmo problema quando coloquei um aplicativo no celular tinha uns celulares que connecta outros não … o celular deve estar configurado para acessar o web e deve estar liberado isso também para aplicativos java, algunas operadoras bloqueiam isso no celular é um porre

alex_sandro_formigar

olha só estou passanso pelo mesmo problema
no emulador tudo otimo
mas na hora de passar aplicação para
o celeular vem os problemas !

fsquadro

dipeloco,

E tem como desbloquear?

flaviojr77

descobri pessoal!!!

estava faltando dar permissoes no celular, segue o que eu fiz:

configurar o GPRS.

Lembrando que durante o download você utiliza a internet do celular, conhecida como WAP, entretanto, para o uso de aplicativos Java a conexão WAP não é mais necessária, mas sim a conexão de GPRS que tem um Access Point (APN) diferente. Por isso, para configurar o GPRS do Nokia 6060 você deve seguir os passos abaixo:

Vá para o Menu > Configurações > Configuração > Configurações Pessoais > Ponto de Acesso > Configurações do Ponto de Acesso > Configurações da Portadora > Ponto de Acesso Pacote de Dados > Selecionar > (Insira o novo APN: Em seu caso: claro.com.br) > OK

Nome do Usuário: claro > OK

Senha: claro > (Confirme a nova senha) > OK.

Depois vá para Menu > Configurações > Configuração > Ponto de Acesso Preferido > (Selecione o ponto de acesso que você criou) > OK.

Ou entre em Ativar predefs em todos os aplics > OK.

dipeloco

Alguns celulares voce pode usar softwares para desbloquear por exemplo o nokia existe o diego, mais normalmente sempre tem um.

Criado 23 de maio de 2007
Ultima resposta 5 de jun. de 2007
Respostas 5
Participantes 4