2012-04-23 13 views
1

私はBBを初めて使っていますので、画像を非同期で読み込む方法を教えてください。ブラックベリー画像ローダー

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

が、私は私のためループは私のプログラム終了するまでのように上記のコード を使用して、複数の画像をロードする必要があることは私が持っている

Mycode

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; 


    } 
}} 

`

+0

「ブラックベリーの非同期HTTPリクエスト - どのように?」 - この質問の回答はこちら、http://stackoverflow.com/a/2677329/431639で確認してください。 – Rupak

答えて

0

理想的です

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

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

3)は、マネージャにフィールドを追加した後にそのクッキー

4)にそのオブジェクトを追加しました新しいスレッドを開始しました。

5)そのスレッドでは、Cookieのプロパティを取得し、それぞれのすべてのイメージをダウンロードします。

上記のプロセスでは、画面が破壊されるまでダウンロードを停止せず、すべてのイメージをダウンロードします。

後で要件を追加することができます。

関連する問題