JMans and JGirls...
Sou iniciante JAVA ME e tô tentando fazer um código básico que se conecta á um URL e retorna os dados no EMULADOR, porém não está dando certo! Ele entra na primeira Exception} catch (ConnectionNotFoundException cnfex) {
System.out.println("Erro! URL não pode ser aberta!");
cnfex.printStackTrace();
}
InputStream inpStream = conexao.openInputStream();
Erro! URL não pode ser aberta!
javax.microedition.io.ConnectionNotFoundException: TCP open
at com.sun.midp.io.j2me.socket.Protocol.connect(+99)
at com.sun.midp.io.ConnectionBaseAdapter.openPrim(ConnectionBaseAdapter.java:111)
at com.sun.midp.io.j2me.socket.Protocol.openPrim(+108)
at com.sun.midp.io.ConnectionBaseAdapter.openPrim(ConnectionBaseAdapter.java:98)
at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+8)
at com.sun.midp.io.j2me.http.Protocol.connect(+73)
at com.sun.midp.io.j2me.http.Protocol.streamConnect(+57)
at com.sun.midp.io.j2me.http.Protocol.startRequest(+12)
at com.sun.midp.io.j2me.http.Protocol.sendRequest(+38)
at com.sun.midp.io.j2me.http.Protocol.sendRequest(+6)
at com.sun.midp.io.j2me.http.Protocol.openInputStream(+9)
at teste.TesteHTTP.startApp(TesteHTTP.java:110)
at javax.microedition.midlet.MIDletProxy.startApp(MIDletProxy.java:46)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Alguém sabe dizer onde estou errando? Minha conexão com a internet está perfeita! a url que estou tentando acessar não tem redirecionamento! O que pode ser? =(
ai vai o código completo: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;
//<editor-fold defaultstate="collapsed" desc=" Generated Fields ">
//</editor-fold>
/**
* The TesteHTTP constructor.
*/
public TesteHTTP() {
}
//<editor-fold defaultstate="collapsed" desc=" Generated Methods ">
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: initialize ">
/**
* Initilizes the application.
* It is called only once when the MIDlet is started. The method is called before the <code>startMIDlet</code> method.
*/
private void initialize() {
// write pre-initialize user code here
// write post-initialize user code here
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet ">
/**
* 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
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet ">
/**
* 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
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable ">
/**
* Switches a current displayable in a display. The <code>display</code> instance is taken from <code>getDisplay</code> 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 <code>null</code>, then <code>nextDisplayable</code> 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
}
//</editor-fold>
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);
}
}