Implementando uma rede em dispositivos móveis

O pacote javax.microedition.io inclui suporte a rede baseado em Generic Connection Framework para MIDP.

A ilustração abaixo usa o protocolo HTTP para ler dados de uma URL.

//Lê o cabeçalho e os dados do HTTP  
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;

public class httpMIDLET extends MIDlet 
{
  private Display display;
  private String url = "http://server/hello.txt";
  
  public httpMIDLET() 
  {
    display = Display.getDisplay(this);
  }

  public void startApp() 
  {
    getData(url);
  }

  private void getData(String url) throws IOException 
  {
    StringBuffer b = new StringBuffer();
    InputStream is = null;
    HttpConnection c = null;
    TextBox t = null;
    try 
    {
      long len = ;
      int ch = 0;
      c = (HttpConnection)Connector.open(url);
      is = c.openInputStream();
      len =c.getLength();
      if( len != -1
      {
        // Lê exatamente o Content-Length bytes
        for(int i =; i < len ; i++ )
        {
          if((ch = is.read()) != -1
          {
            b.append((char) ch);
          }
        }
      
      else 
      {
        //Lê até que a conexão é fechada.
        while ((ch = is.read()) != -1
        {
          len = is.available() ;
          b.append((char)ch);
        }
      }
      t = new TextBox("Http Data",b.toString(), 10240);
    }
    finally 
    {
      is.close();
      c.close();
    }
    display.setCurrent(t);
  }
  
  public void pauseApp() { }
  public void destroyApp(boolean unconditional) { }
}

Abaixo do método post um pedido com alguns cabeçalhos e índices para o servidor.

public void postHttpdata(Sring url) throws IOException 
{
  HttpConnection c = null;
  OutputStream os = null;

  try 
  {
            c = (HttpConnection)Connector.open(url);

            // Configura o método de pedido e os cabeçalhos

            c.setRequestMethod(HttpConnection.POST);
            c.setRequestProperty(
                "If-Modified-Since","7 Sep 2005 19:43:31 GMT");
            c.setRequestProperty(
                "User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");

            c.setRequestProperty(
                "Content-Language""en-US");

            // Obtendo a saída
            os = c.openOutputStream();
            os.write("How are you\n" + c.getBytes());
            os.flush(); 

  
  finally 
  {
            os.close();
            c.close();
  }
}