Iniciante J2ME

E ai Galera…

Seguinte, sou iniciante na programação J2ME e tô fazendo alguns pequenos testes aqui…
Estou tentando me conectar com um site via HTTP para abrir a página no emulador, porém
está caindo na 1ª Exceção e mostrando a mensagem que designei “Erro! URL não pode ser aberta, tente novamente”

Alguém pode dar uma olhada no meu código e me dizer onde estou errando?!

[code]package teste;

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

/**

  • @author kelvis.almeida
    */
    public class TesteHTTP extends MIDlet {

    private boolean midletPaused = false;

    //
    //
    /**

    • The TesteHTTP constructor.
      */
      public TesteHTTP() {
      }

    //
    //

    //
    /**

    • Initilizes the application.

    • It is called only once when the MIDlet is started. The method is called before the startMIDlet method.
      */
      private void initialize() {
      // write pre-initialize user code here

      // write post-initialize user code here
      }
      //

    //
    /**

    • Performs an action assigned to the Mobile Device - MIDlet Started point.
      */
      public void startMIDlet() {
      // write pre-action user code here

      // write post-action user code here
      }
      //

    //
    /**

    • Performs an action assigned to the Mobile Device - MIDlet Resumed point.
      */
      public void resumeMIDlet() {
      // write pre-action user code here

      // write post-action user code here
      }
      //

    //
    /**

    • Switches a current displayable in a display. The display instance is taken from getDisplay method. This method is used by all actions in the design for switching displayable.
    • @param alert the Alert which is temporarily set to the display; if null, then nextDisplayable is set immediately
    • @param nextDisplayable the Displayable to be set
      */
      public void switchDisplayable(Alert alert, Displayable nextDisplayable) {
      // write pre-switch user code here
      Display display = getDisplay();
      if (alert == null) {
      display.setCurrent(nextDisplayable);
      } else {
      display.setCurrent(alert, nextDisplayable);
      }
      // write post-switch user code here
      }
      //

    public Display getDisplay() {
    return Display.getDisplay(this);
    }

    public void pauseApp() {
    midletPaused = true;
    }

    public void destroyApp(boolean unconditional) {
    notifyDestroyed();
    }

    public void exitMIDlet() {
    // switchDisplayable(null, null);
    // destroyApp(true);
    // notifyDestroyed();
    }

    public void startApp() {
    // if (midletPaused) {
    // resumeMIDlet();
    // } else {
    // initialize();
    // startMIDlet();
    // }

     try {
         String URL = "http://www.google.com.br";
         HttpConnection conexao = (HttpConnection) Connector.open(URL);
         InputStream inpStream = conexao.openInputStream();
    
         System.out.println("Host= " + conexao.getHost());
    
         System.out.println("Porta= " + conexao.getPort());
    
         System.out.println("Protocolo= " + conexao.getProtocol());
    
         conexao.close();
         inpStream.close();
    
     } catch (ConnectionNotFoundException cnfex) {
         System.out.println("Erro! URL não pode ser aberta, tente novamente");
     } catch (IOException IOex) {
         System.out.println(IOex.toString());
     }
    
     midletPaused = false;
     destroyApp(true);
    

    }
    }
    [/code]

hehehehe … justo o google cara? … auhauauh …

analisa o erro ai … cnfex.printStackTrace();

Então parceiro… Dei um sysOut no cnfex e ele deu a seguinte saída: TCP OPEN
Também mudei a URL porque saquei que o google tem altos redirecionamentos… hauhauahuah
Mas tá o mesmo erro… Alguma idéia pra me ajudar?

[code]try {
String URL = “http://www.guj.com.br”;
HttpConnection conexao = (HttpConnection) Connector.open(URL);
InputStream inpStream = conexao.openInputStream();

        System.out.println("Host= " + conexao.getHost());

        System.out.println("Porta= " + conexao.getPort());

        System.out.println("Protocolo= " + conexao.getProtocol());

        conexao.close();
        inpStream.close();

    } catch (ConnectionNotFoundException cnfex) {
        System.out.println("Erro! URL não pode ser aberta, tente novamente");
        System.out.println(cnfex.getMessage());
        
    } catch (IOException IOex) {
        System.out.println(IOex.toString());
    }

    midletPaused = false;
    destroyApp(true);

}

}[/code]

ops… dei um cnfex.printStackTrace(); e vi o danado do erro!

put’z galera… O erro persiste… Será que alguém pode dar um Help?

O código com as devidas alterações segue:

[code]package teste;

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

/**

  • @author kelvis.almeida
    */
    public class TesteHTTP extends MIDlet {

    private boolean midletPaused = false;

    //
    //
    /**

    • The TesteHTTP constructor.
      */
      public TesteHTTP() {
      }

    //
    //

    //
    /**

    • Initilizes the application.

    • It is called only once when the MIDlet is started. The method is called before the startMIDlet method.
      */
      private void initialize() {
      // write pre-initialize user code here

      // write post-initialize user code here
      }
      //

    //
    /**

    • Performs an action assigned to the Mobile Device - MIDlet Started point.
      */
      public void startMIDlet() {
      // write pre-action user code here

      // write post-action user code here
      }
      //

    //
    /**

    • Performs an action assigned to the Mobile Device - MIDlet Resumed point.
      */
      public void resumeMIDlet() {
      // write pre-action user code here

      // write post-action user code here
      }
      //

    //
    /**

    • Switches a current displayable in a display. The display instance is taken from getDisplay method. This method is used by all actions in the design for switching displayable.
    • @param alert the Alert which is temporarily set to the display; if null, then nextDisplayable is set immediately
    • @param nextDisplayable the Displayable to be set
      */
      public void switchDisplayable(Alert alert, Displayable nextDisplayable) {
      // write pre-switch user code here
      Display display = getDisplay();
      if (alert == null) {
      display.setCurrent(nextDisplayable);
      } else {
      display.setCurrent(alert, nextDisplayable);
      }
      // write post-switch user code here
      }
      //

    public Display getDisplay() {
    return Display.getDisplay(this);
    }

    public void pauseApp() {
    midletPaused = true;
    }

    public void destroyApp(boolean unconditional) {
    notifyDestroyed();
    }

    public void exitMIDlet() {
    switchDisplayable(null, null);
    destroyApp(true);
    notifyDestroyed();
    }

    public void startApp() {
    if (midletPaused) {
    resumeMIDlet();
    } else {
    initialize();
    startMIDlet();
    }

     TextBox tbox = new TextBox(".::Módulo de conexão::.", "Conectando...", 25, 0);
     Display.getDisplay(this).setCurrent(tbox);
    
     try {
         String URL = "http://www.cts.org.br/icts/";
         HttpConnection conexao = (HttpConnection) Connector.open(URL);
         InputStream inpStream = conexao.openInputStream();
    
         System.out.println("Host= " + conexao.getHost());
    
         System.out.println("Porta= " + conexao.getPort());
    
         System.out.println("Protocolo= " + conexao.getProtocol());
    
         conexao.close();
         inpStream.close();
    
     } catch (ConnectionNotFoundException cnfex) {
         System.out.println("Erro! URL não pode ser aberta!");
         cnfex.printStackTrace();
         
     } catch (IOException IOex) {
         System.out.println(IOex.toString());
     }
    
     midletPaused = false;
     destroyApp(true);
    

    }
    }
    [/code]