×
Namespaces

Variants
Actions
Revision as of 23:05, 30 September 2009 by vkmunjpara (Talk | contribs)

How to use HTTP GET request in Java ME

From Nokia Developer Wiki
Jump to: navigation, search
{{{width}}}
{{{width}}}
/**
* This program demonstrates how to establish a
* HttpConnection and uses it to send a GET request
* to web server.
*
*/

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
 
 
 
public class HttpGET extends MIDlet implements CommandListener
{
 
/*
* the default value for the url string is
*
* user can change it to some other urls within the application
*/

private static String defaultURL = "http://localhost";
 
 
// GUI component for user to enter web url
private Display myDisplay = null;
private Form mainScreen;
private TextField requestField;
 
// GUI component for displaying web page content
private Form resultScreen;
private StringItem resultField;
 
// the "send" button used on mainScreen
Command sendCommand = new Command("SEND", Command.OK, 1);
// the "back" button used on resultScreen
Command backCommand = new Command("BACK", Command.OK, 1);
 
public HttpGET()
{
 
// initializing the GUI components for entering web urls
myDisplay = Display.getDisplay(this);
mainScreen = new Form("Type in a URL:");
requestField = new TextField(null, defaultURL, 100, TextField.URL);
mainScreen.append(requestField);
mainScreen.addCommand(sendCommand);
mainScreen.setCommandListener(this);
}
 
public void startApp()
{
myDisplay.setCurrent(mainScreen);
}
 
public void pauseApp()
{
}
 
public void destroyApp(boolean unconditional)
{
}
 
public void commandAction(Command c, Displayable s)
{
 
// when user clicks on "send" button on mainScreen
if (c == sendCommand)
{
// retrieving the web url that user entered
String urlstring = requestField.getString();
 
// sending a GET request to web server
String resultstring = sendGetRequest(urlstring);
 
// displaying the page content retrieved from web server
resultScreen = new Form("GET Result:");
resultField = new StringItem(null, resultstring);
resultScreen.append(resultField);
resultScreen.addCommand(backCommand);
resultScreen.setCommandListener(this);
myDisplay.setCurrent(resultScreen);
 
}
else if (c == backCommand)
{
 
// do it all over again
requestField.setString(defaultURL);
myDisplay.setCurrent(mainScreen);
}
}
 
// send a GET request to web server
public String sendGetRequest(String urlstring)
{
 
HttpConnection hc = null;
DataInputStream dis = null;
 
String message = "";
 
try
{
 
/* openning up http connection with the web server
* when the connection is opened, the default request
* method is GET
*/

hc = (HttpConnection)
Connector.open(urlstring);
 
// establishing input stream from the connection
dis = new DataInputStream(hc.openInputStream());
 
// reading the response from web server character by character
int ch;
while( (ch = dis.read()) != -1 )
{
message = message + (char) ch;
}
 
}
catch (IOException ioe)
{
message = "ERROR";
}
finally
{
try { if(hc != null) hc.close(); } catch (IOException ignored) {}
try { if(dis != null) dis.close();} catch (IOException ignored) {}
}
return message;
}
}
244 page views in the last 30 days.
×