Mega Code Archive

 
Categories / Java Tutorial / J2ME
 

Load Image with HttpConnection

import java.io.DataInputStream; import java.io.IOException; import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.ImageItem; import javax.microedition.lcdui.Item; import javax.microedition.lcdui.StringItem; import javax.microedition.midlet.MIDlet; public class ImageLoaderMIDlet extends MIDlet {   private Item mItem;   public void startApp() {     final Display display = Display.getDisplay(this);     Form mainForm = new Form("Loading...");     display.setCurrent(mainForm);     final Form imageForm = new Form("Image");     imageForm.addCommand(new Command("Exit", Command.EXIT, 0));     imageForm.setCommandListener(new CommandListener() {       public void commandAction(Command c, Displayable s) {         notifyDestroyed();       }     });     Thread t = new Thread() {       public void run() {         try {           String URL = "http://localhost/Duke.png";           Image image = loadImage(URL);           mItem = new ImageItem(null, image, 0, null);         } catch (IOException ioe) {           mItem = new StringItem(null, ioe.toString());         }         imageForm.append(mItem);         display.setCurrent(imageForm);       }     };     t.start();   }   public Image loadImage(String url) throws IOException {     HttpConnection hpc = null;     DataInputStream dis = null;     try {       hpc = (HttpConnection) Connector.open(url);       int length = (int) hpc.getLength();       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();     }   }   public void pauseApp() {   }   public void destroyApp(boolean unconditional) {   } }