Http Example
/*
J2ME: The Complete Reference
James Keogh
Publisher: McGraw-Hill
ISBN 0072227109
*/
// jad file (Please verify the jar size first)
/*
MIDlet-Name: httpexample
MIDlet-Version: 1.0
MIDlet-Vendor: MyCompany
MIDlet-Jar-URL: httpexample.jar
MIDlet-1: httpexample, , httpexample
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-JAR-SIZE: 100
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;
import java.util.*;
public class HttpExample extends MIDlet implements CommandListener
{
private Command exit, start;
private Display display;
private Form form;
private StringItem stars;
public HttpExample ()
{
display = Display.getDisplay(this);
exit = new Command("Exit", Command.EXIT, 1);
start = new Command("Start", Command.EXIT, 1);
form = new Form("Customer Ranking");
form.addCommand(exit);
form.addCommand(start);
form.setCommandListener(this);
}
public void startApp() throws MIDletStateChangeException
{
display.setCurrent(form);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command, Displayable displayable)
{
if (command == exit)
{
destroyApp(false);
notifyDestroyed();
}
else if (command == start)
{
StreamConnection connection = null;
InputStream in = null;
StringBuffer buffer = new StringBuffer();
try
{
connection = (StreamConnection)
Connector.open(
"http://www.amazon.com/exec/obidos/tg/detail/-/007222472X");
in = connection.openInputStream();
int ch;
while ((ch = in.read()) != -1)
{
if (ch != '\n')
{
buffer.append((char)ch);
}
else
{
String line = new String (buffer.toString());
if(line.equals("out of 5 stars"))
{
int position = line.indexOf("alt=");
Alert alert = new Alert(
"Rating", line.substring(position + 5, position + 8), null, null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.ERROR);
display.setCurrent(alert);
}
buffer = new StringBuffer();
}
}
}
catch (IOException error)
{
Alert alert = new Alert("Error", "Cannot connect", null, null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.ERROR);
display.setCurrent(alert);
}
}
}
}
Related examples in the same category