Pessoal preciso de uma ajuda qui com THREAD, ja pesquisei no forum mas só acha que tem que usar THREAD, mas nao tem nada de exemplo e confesso que achei meio confuso o que encontrei.
Seguinte, quando executa a linha 52, que faz a conexao com a rede para enviar, trava o emulador e da esse erro:
Warning: To avoid potential deadlock, operations that may block, such as
networking, should be performed in a different thread than the
commandAction() handler.
Ai que vem a ajuda, procurando no forum todos dizem: Implementa com uma nova thread, mas nao encontrei exemplos disso, onde e como seria essa thread neste codigo? Se alguem puder me ajudar agradeceria muito, pois sou novato em java, mas preciso fazer essa aplicacaozinha rodar.
[code]import javax.microedition.midlet.;
import javax.microedition.lcdui.;
import java.io.;
import javax.microedition.io.;
public class Connec extends MIDlet implements CommandListener{
private Display display;
private Form tela;
private TextField tflat;
private TextField tflon;
private Command cmdEnviar;
private Command cmdReceber;
public void startApp(){
display = Display.getDisplay( this );
montarTelaInicial();
display.setCurrent( tela );
}
public void pauseApp(){
// metodo para pausar aplicacao
}
public void destroyApp( boolean b ){
display.setCurrent( null );
this.notifyDestroyed();
}
private void montarTelaInicial(){
tela = new Form( "HTTP Sender" );
tflat = new TextField( "Lat :", null, 10, TextField.DECIMAL );
tflon = new TextField( "Lon :", null, 10, TextField.DECIMAL );
cmdEnviar = new Command( "Enviar", Command.ITEM, 0);
cmdReceber = new Command( "Receber", Command.ITEM,0);
tela.append( tflat );
tela.append( tflon );
tela.addCommand( cmdEnviar );
tela.addCommand( cmdReceber );
tela.setCommandListener( this );
}
public void commandAction( Command c, Displayable d ){
if ( c == cmdEnviar ){
passarInformacaoServidor();
}else if ( c == cmdReceber ){
System.out.println("Não funcional!");
}
}
private void passarInformacaoServidor(){
try {
HttpConnection con = (HttpConnection)Connector.open("http://www.site.com.br/gps/requestpos.asp?lat=12345&lon=9999");
int status = -1;
String situacao = "";
situacao = ( status != HttpConnection.HTTP_OK?"Erro : Conexao":"OK" );
montarTelaInicial();
tela.append( situacao );
display.setCurrent( tela );
}catch (IOException e) {
System.out.println("IOException " + e.toString());
}
}
}[/code]