Home | Русский

J2ME – Http Connection

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.io.*;
import java.io.*;

public class httpconnection extends MIDlet implements CommandListener {
  private Command exit, start;
  private Display display;
  private Form form;
  public httpconnection ()
  {
    display = Display.getDisplay(this);
    exit = new Command("Exit", Command.EXIT, 1);
    start = new Command("Start", Command.EXIT, 1);
    form = new Form("Http Connection");
    form.addCommand(exit);
    form.addCommand(start);
    form.setCommandListener(this);
  }
  public void startApp()
  {
   display.setCurrent(form);
  }
  public void pauseApp()
  {
  }
  public void destroyApp(boolean unconditional)
  {
      destroyApp(false);
      notifyDestroyed();
  }
  public void commandAction(Command command, Displayable displayable)
  {
    if (command == exit)
    {
      destroyApp(false);
      notifyDestroyed();
    }
    else if (command == start)
    {
      HttpConnection connection = null;
      InputStream inputstream = null;
      try
      {
        connection = (HttpConnection) Connector.open("http://www.myserver.com/myinfo.txt");
        //HTTP Request
        connection.setRequestMethod(HttpConnection.GET);
        connection.setRequestProperty("Content-Type","//text plain");
        connection.setRequestProperty("Connection", "close");
        // HTTP Response
        System.out.println("Status Line Code: " + connection.getResponseCode());
        System.out.println("Status Line Message: " + connection.getResponseMessage());
        if (connection.getResponseCode() == HttpConnection.HTTP_OK)
        {
          System.out.println(
            connection.getHeaderField(0)+ " " + connection.getHeaderFieldKey(0));
          System.out.println(
           "Header Field Date: " + connection.getHeaderField("date"));
          String str;
          inputstream = connection.openInputStream();
          int length = (int) connection.getLength();
          if (length != -1)
          {
            byte incomingData[] = new byte[length];
            inputstream.read(incomingData);
            str = new String(incomingData);
          }
          else
          {
            ByteArrayOutputStream bytestream =
                  new ByteArrayOutputStream();
            int ch;
            while ((ch = inputstream.read()) != -1)
            {
              bytestream.write(ch);
            }
            str = new String(bytestream.toByteArray());
            bytestream.close();
          }
          System.out.println(str);
        }
      }
      catch(IOException error)
      {
       System.out.println("Caught IOException: " + error.toString());
      }
      finally
      {
        if (inputstream!= null)
        {
          try
          {
            inputstream.close();
          }
          catch( Exception error)
          {
             /*log error*/
          }
        }
        if (connection != null)
        {
          try
          {
             connection.close();
          }
          catch( Exception error)
          {
             /*log error*/
          }
        }
      }
    }
  }
}
This entry was written by admin , posted on Tuesday November 18 2008at 12:11 am , filed under J2ME and tagged , , . Bookmark the permalink . Post a comment below or leave a trackback: Trackback URL.

Leave a Reply

You must be logged in to post a comment.