Please anyone tell me why my App Can't Connect.
I am ne to develop this kind of app.
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package demo;
import demo.screen.utils.TitleField;
import net.rim.device.api.ui.component.ListField;
import net.rim.device.api.ui.component.ObjectListField;
import net.rim.device.api.ui.container.MainScreen;
//-----------------------------
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
//import net.rim.device.api.io.Base64OutputStream;
import net.rim.device.api.ui.MenuItem;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.Menu;
/**
*
* @author Abhinav
*/
class MyMainScreen extends MainScreen {
//private static int dialogResponse;
private int status = -1;
private final String site0 = "http://www.google.com";
private final String site1 = "http://www.yahoo.com";
private final String site2 = "http://www.ariosesoftware.com";
private final String sideKick2=";wapgatewayip=100.1.200.99;wapgatewayport=8080;wapgatewayapn=airtelgprs.com;deviceside=true";
private final String sideKick1=";deviceside=true;wapgatewayapn=airtelgprs.com";
private ObjectListField lfMain;
private UiApplication myApp;
public MyMainScreen() {
super(DEFAULT_MENU | DEFAULT_CLOSE);
TitleField tfTitle = new TitleField("My-Http-Connection");
setTitle(tfTitle);
lfMain = new ObjectListField(ListField.FIELD_LEFT);
lfMain.insert(0, site0);
lfMain.insert(1, site1);
lfMain.insert(2, site2);
add(lfMain);
myApp=UiApplication.getUiApplication();
}
MenuItem miCon = new MenuItem("Connect", 110, 10) {
public void run() {
Runnable r = new Runnable() {
public void run() {
connect();
}
};
Thread th = new Thread(r);
th.start();
}
};
public void connect() {
int index = 0;
index = lfMain.getSelectedIndex();
String selInd = (String) lfMain.get(lfMain, index);
HttpConnection httpConn = null;
boolean keepGoing = true;
try {
httpConn = (HttpConnection) Connector.open(selInd+sideKick2);
while (keepGoing) {
status = httpConn.getResponseCode();
switch (status) {
case (HttpConnection.HTTP_NOT_FOUND):
myApp.invokeAndWait(new Runnable() {
public void run() {
Dialog.alert("Http Not Found");
}
});
keepGoing = false;
break;
case (HttpConnection.HTTP_MOVED_TEMP):
UiApplication.getUiApplication().invokeAndWait(new Runnable() {
public void run() {
Dialog.alert("Http Found");
}
});
keepGoing = false;
break;
case (HttpConnection.HTTP_OK):
//Connection is 200 OK.
//Download and process data.
myApp.invokeAndWait(new Runnable() {
public void run() {
Dialog.alert("Connected");
}
});
keepGoing = false;
break;
case (HttpConnection.HTTP_UNAUTHORIZED):
myApp.invokeAndWait(new Runnable() {
public void run() {
Dialog.alert("Unauthorized Access");
}
});
break;
default:
//The connection failed for some other reason.
//Handle failed connection.
keepGoing = false;
break;
}
}
//Close the connection.
httpConn.close();
} catch (final Exception e) {
//Handle the exception.
myApp.invokeAndWait(new Runnable() {
public void run() {
Dialog.alert("Exception: Can't Connect, " + e.getMessage());
}
});
}
}
public void makeMenu(Menu m, int inst) {
super.makeMenu(m, inst);
m.add(miCon);
}
}
Regards