Code:
public void run() {
try {
System.out.println("Sending message...");
stringItem.setText(stringItem.getText() + "1");
sendMessage("Query,map,$,start,211,Arsenal,!");
stringItem.setText(stringItem.getText() + "2");
String unformattedurl = receiveMessage();
stringItem.setText(stringItem.getText() + "3");
stringItem.setText(unformattedurl);
//System.out.println("Receiving message..."+unformattedurl);
String url = getURL(unformattedurl);
// System.out.println("formatted url is.."+url);
//connection.close();
// url = "http://maps.google.com/maps/api/staticmap?center=100,20&zoom=14&size=500x400&format=JPEG&maptype=roadmap&sensor=false";
URL = getURL1(unformattedurl);
URL = url;
stringItem.setText(stringItem.getText() + 6);
//Imageloader imageloader=new Imageloader(stringItem,item,url);
System.out.println("Loading image...");
try {System.out.println("Thread1...");
// stringItem.setText(URL);
stringItem.setText(stringItem.getText() + 7);
System.out.println("Thread2...");
// stringItem.setText(stringItem.getText() + URL);
image .setImage( loadImage(URL) );
stringItem.setText(stringItem.getText() + 8);
System.out.println("Thread3...");
//item.setImage(image);
//mItem.setLabel(mItem.toString());
//stringItem.setText(stringItem.getText() + ioe.getMessage());
} catch (Exception ex) {
stringItem.setText(stringItem.getText() + "Err1"+ex.getMessage());
System.out.println("ThreadError..."+ex.getMessage());
}
} catch (Exception ex) {
stringItem.setText(stringItem.getText()+"Error2 " + ex.getMessage());
}
}
public Image loadImage(String url) throws IOException {
stringItem.setText(stringItem.getText() + url);
HttpConnection hpc = null;
DataInputStream dis = null;
try {
hpc = (HttpConnection) Connector.open(URL);
//hpc.getResponseMessage();
int length = (int) hpc.getLength();
System.out.println("Length is "+length);
stringItem.setText(stringItem.getText() + "len" +length);
byte[] data = new byte[length];
dis = new DataInputStream(hpc.openInputStream());
dis.readFully(data);
return Image.createImage(data, 0, data.length);
} finally {
if (hpc != null)
hpc.close();
if (dis != null)
dis.close();
}
}
private String getURL1(String message){
return "http://maps.google.com/maps/api/staticmap?center=Mauritius&zoom=10&size=200x200&maptype=roadmap&markers=color:Blue|label:U|22.0,22.0&markers=color:Green|label:B|21.0,21.0&sensor=false";
}
When I run the above code with a static url, that is url stored in a string it works fine but as I take the same url and return it from a function I get an null exception and size of image as -1..