1

私はBBを初めて使用しますが、画像を非同期で読み込む方法を教えてください。

いくつかのコードを見つけましたが、同期して実行されています。

forループが終了するまで、上記のコードを使用して複数の画像をロードする必要があります。私のプログラムは理想的です。

マイコード

package mypackage;
import java.io.DataInputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import net.rim.device.api.system.EncodedImage;
import net.rim.device.api.ui.component.Dialog;

public class image {
public EncodedImage image(final String url){

      try
    {
         // HttpConnection hc=new Httpconnection();

          HttpConnection hc=(HttpConnection)Connector.open(url+";deviceside=true");
        hc.setRequestMethod(HttpConnection.GET);
        int st=hc.getResponseCode();
        int len=(int)hc.getLength();
        System.out.println("Code==>"+hc.getResponseCode());
        System.out.println("Message==>"+hc.getResponseMessage());
        byte bts[]=new byte[len];
       // resizeImage( bitmap, 150,150);

        DataInputStream dis=new DataInputStream(hc.openInputStream());
        dis.readFully(bts);  
        EncodedImage image;

        image=EncodedImage.createEncodedImage(bts,0,len);

        dis.close();
        hc.close();   
        return image;
  }    catch(Exception e){
       e.printStackTrace();
      Dialog.alert("Error ");
      return null;


  }
}}

`

4

1 に答える 1

0

私は次のように実装しました

1) カスタム フィールドを作成し、1 つのデフォルト イメージをペイントしました。

2) オブジェクトに URL、サイズなどの画像プロパティを追加しました。

3)そのCookieにそのオブジェクトを追加しました

4) manager にフィールドを追加した後、新しいスレッドを開始しました。

5) そのスレッドで Cookie のプロパティを取得し、すべての画像をダウンロードします。

上記のプロセスでは、画面が破壊されてすべての画像がダウンロードされるまで、ダウンロードを停止することはできません。

後で要件を追加できます。

于 2012-04-25T12:22:15.170 に答える