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

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, 0null);
      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) {}
    }

  }

}
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值