HTTP no J2ME

Código

 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) {   }

 }

 

Site em PHP

 

<?php

 

 

if (isset($_GET)) {

  switch ($_GET["usuario"]) {

    case "junior": $response = "Resposta OK"break;

    case "jeremias": $response = "Resposta 2"break;

    case "daniel": $response = "Só faz bug"break;

 case "cristiano": $response = "et"break;

    default: $response = "outros"break;

  }  

}

 

echo $response;

 

$arquivo = "enquete.txt"

$ponteiro = fopen ($arquivo, "a"); 

fwrite($ponteiro, $_GET["usuario"]."\r\n"); 

fclose($ponteiro); 

 

?>

 

Observações

Verifique se o celular tem acesso a web usando o browser do mesmo

Dê permissão para que aplicativos midlet em Java possam acessar a rede (web)

Mesmo assim se não funcionar, lembre-se que algumas operadoras bloqueiam isso no celular, entre em contato com a operadora

 

Veja também

Configurar celular para acessar rede