HttpHEADMIDlet.java Source code

Java tutorial

Introduction

Here is the source code for HttpHEADMIDlet.java

Source

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;

public class HttpHEADMIDlet extends MIDlet implements CommandListener {
    private Command exitCommand = new Command("Exit", Command.EXIT, 1);

    private Command sendCommand = new Command("Send", Command.OK, 1);

    private Command backCommand = new Command("Upload", Command.OK, 1);

    private Display display;

    private String defaultURL = "http://localhost/";

    private Form mainForm, resultForm;

    private TextField URL = new TextField(null, defaultURL, 250, TextField.URL);

    private StringItem resultItem;

    public HttpHEADMIDlet() {
        display = Display.getDisplay(this);
    }

    public void startApp() {
        mainForm = new Form("HEDA Method");
        mainForm.append(URL);
        mainForm.addCommand(sendCommand);
        mainForm.addCommand(exitCommand);
        mainForm.setCommandListener(this);
        display.setCurrent(mainForm);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable s) {
        if (c == sendCommand) {
            String result = "";
            resultItem = new StringItem(null, result);
            resultForm = new Form("Result");
            String URLString = URL.getString();

            try {
                result = requestUsingGET(URLString);
            } catch (IOException e) {
                result = "Falied";
            }

            resultItem.setText(result);
            resultForm.append(resultItem);
            resultForm.addCommand(backCommand);
            resultForm.setCommandListener(this);
            display.setCurrent(resultForm);
        } else if (c == backCommand) {
            URL.setString(defaultURL);
            display.setCurrent(mainForm);
        } else {
            destroyApp(false);
            notifyDestroyed();
        }
    }

    private String requestUsingGET(String URLString) throws IOException {
        HttpConnection hpc = null;
        DataInputStream dis = null;

        String content = "";
        try {
            hpc = (HttpConnection) Connector.open(URLString);
            hpc.setRequestMethod(HttpConnection.HEAD);

            dis = new DataInputStream(hpc.openInputStream());
            int i = 1;
            String key = "";
            String value = "";

            while ((value = hpc.getHeaderField(i)) != null) {
                key = hpc.getHeaderFieldKey(i++);
                content += key + ":" + value + "\n";
            }
            if (hpc != null)
                hpc.close();
            if (dis != null)
                dis.close();
        } catch (IOException e2) {
        }

        return content;
    }
}