您的位置:首页 > 其它

一个下载图片的例子,为以后铺路。

2007-04-12 19:16 281 查看

import java.io.*;




import javax.microedition.io.*;


import javax.microedition.lcdui.*;


import javax.microedition.midlet.*;






public class HelloMIDlet extends MIDlet implements CommandListener, Runnable ...{


private Display mDisplay;


private Form mForm;








public HelloMIDlet() ...{


mForm = new Form("Connecting...");


mForm.addCommand(new Command("Exit", Command.EXIT, 0));


mForm.setCommandListener(this);


}




public void startApp() ...{


if (mDisplay == null) mDisplay = Display.getDisplay(this);


mDisplay.setCurrent(mForm);


// Do network loading in a separate thread.


Thread t = new Thread(this);


t.start();


}




public void pauseApp() ...{}






public void destroyApp(boolean unconditional) ...{}




public void commandAction(Command c, Displayable s) ...{


if (c.getCommandType() == Command.EXIT)


notifyDestroyed();


}




public void run() ...{


HttpConnection hc = null;


DataInputStream in = null;




try ...{


String url = "http://images.163.com/homepage/logo.gif";




hc = (HttpConnection)Connector.open(url);




int length = (int)hc.getLength();


byte[] data = null;




if (length != -1) ...{


data = new byte[length];


in = new DataInputStream(hc.openInputStream());


in.readFully(data);


}




else ...{


// If content length is not given, read in chunks.


int chunkSize = 512;


int index = 0;


int readLength = 0;


in = new DataInputStream(hc.openInputStream());


data = new byte[chunkSize];




do ...{




if (data.length < index + chunkSize) ...{


byte[] newData = new byte[index + chunkSize];


System.arraycopy(data, 0, newData, 0, data.length);


data = newData;


}


readLength = in.read(data, index, chunkSize);


index += readLength;


} while (readLength == chunkSize);


length = index;


}


Image image = Image.createImage(data, 0, length);


ImageItem imageItem = new ImageItem(null, image, 0, null);


mForm.append(imageItem);


mForm.setTitle("Done");


}




catch (IOException ioe) ...{


StringItem stringItem = new StringItem(null, ioe.toString());


mForm.append(stringItem);


mForm.setTitle("Done.");


}




finally ...{




try ...{


if (in != null) in.close();


if (hc != null) hc.close();


}




catch (IOException ioe) ...{}


}


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: