aspose file tools*
The moose likes Java Micro Edition and the fly likes j2me httpconnection Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Mobile » Java Micro Edition
Bookmark "j2me httpconnection" Watch "j2me httpconnection" New topic
Author

j2me httpconnection

Mania Pawar
Greenhorn

Joined: Jun 17, 2006
Posts: 10
hi i am try to run this program but i have got one warning plz help me .

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 * http://64.28.105.110/servlets/webyu/Chapter7Servlet?request=gettimestamp * * user can change it to some other urls within the application * */
private static String defaultURL = "http://www.smsindya.com/app/forlogin.asp?userid=919892790096&password=26201439&isdcode=91";

// 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;
}
}

i have got warning

Warning: To avoid potential deadlock, operations that may block, such as
networking, should be performed in a different thread than the
commandAction() handler.

plz help
my email :- ilumania@yahoo.co.in

thanks!
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17257
    
    6

It is just a warning, you don't have to do anything about it if you don't want to.

All that it says is that when you connect to HTTP to get stuff, the whole main thread will be blocked and waiting till it gets everything back. But if you spawn off a thread to load the stuff, then the program won't appear frozen, as the main thread can keep going and show something like a progress bar.

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
 
Don't get me started about those stupid light bulbs.
 
subject: j2me httpconnection