Olá. Tenho a seguinte classe:
package connect;
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class ConnectMyServlet extends MIDlet implements CommandListener {
private Display display;
private Command exitCommand;
private Command connectCommand;
private Form form;
public ConnectMyServlet() {
form = new Form("Connect2Servlet");
exitCommand = new Command("Exit", Command.EXIT, 0);
connectCommand = new Command("Conn",Command.OK,1);
form.addCommand(exitCommand);
form.addCommand(connectCommand);
form.setCommandListener(this);
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
private void httpConnect() {
HttpConnection connection = null;
InputStream is = null;
StringBuffer buffer = new StringBuffer();
String url = "http://hostjspmysql.s156.eatj.com/"; // meu servlet, com tomcat 6. eu tenho que ativa-lo periodicamente (para durar 6 hrs online). Mas, agora ele esta on.
try{
connection = (HttpConnection) Connector.open(url);
connection.setRequestProperty("Content-Type", "text/html");
is = connection.openInputStream();
int ch;
while((ch = is.read()) != -1){
buffer.append((char)ch);
}
}catch(IOException e){
Alert alert = new Alert("Error", "Cannot connect", null, null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.ERROR);
display.setCurrent(alert);
}
finally
{
connection.close();
is.close();
}
}
public void commandAction(Command c, Displayable d) {
if(c.equals(exitCommand))
{
destroyApp(false);
}
if(c.equals(connectCommand))
{
try {
httpConnect();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
Ao executar esta aplicação eu esperava que o bufferString fizesse a contatenação da página (embora eu precisasse que a página fosse exibida em html. mas isso é apenas um teste ainda). Mas ao iniciar o emulador e clicar no botão corresponde ao “Conn” Não acontece nada. Acreditava que pelo menos ia entrar no Exception que iria mostar o Alert. Mas, nem isso ocorreu.
No console:
Starting emulator in execution mode
Installing suite from: http://127.0.0.1:50077/ConnectMyServlet.jad
[WARN] [rms ] javacall_file_open: _wopen failed for: C:\Users\user\javame-sdk\3.0\work\0\appdb_delete_notify.dat
printScreen do servlet:
Pq o emulador fica em estado de “espera” , sem fazer nada, alguém pode me explicar?
Atenciosamente, ArchV.