2014-04-29 82 views
0

我的服務器上有一個ByteArray文件,我想 在ImageView中讀取並顯示,我該怎麼做?將ByteArray文件從服務器轉換爲imageView中的圖像

+0

您的字節組轉換爲位圖,然後設置'ImageView'的位圖。 'Bitmap bm = BitmapFactory.decodeByteArray(myByteArray,0,byteArray.length);' – john

+0

而不是將「解決」添加到主題行,請接受您的答案以表明您的問題已經解決。 –

+0

我必須等待幾個小時才能接受我的答案:) – Christer

回答

0

將您的byteArray轉換爲位圖,然後設置ImageView的位圖。

Bitmap bm = BitmapFactory.decodeByteArray(myByteArray, 0, byteArray.length);//myByteArray is the byte array you want to convert. 
ImageView myImage = (ImageView)findViewById(R.id.custom_image);//get a reference to your ImageView 
myImage.setImageBitmap(bm)//set the ImageView bitmap 
+0

好的,但是如何從服務器下載/讀取ByteArray? – Christer

0

,我發現我的解決方案,這裏是代碼:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // show The Image 
    new DownloadImageTask((ImageView) findViewById(R.id.imageView1)) 
    .execute("http://myURL"); 

} 

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
    ImageView bmImage; 

    public DownloadImageTask(ImageView bmImage) { 
     this.bmImage = bmImage; 
    } 

    protected Bitmap doInBackground(String... urls) { 
     String urldisplay = urls[0]; 
     Bitmap mIcon11 = null; 
     try { 
      InputStream in = new java.net.URL(urldisplay).openStream(); 
      mIcon11 = BitmapFactory.decodeStream(in); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return mIcon11; 
    } 

    protected void onPostExecute(Bitmap result) { 
     bmImage.setImageBitmap(result); 
    } 
} 
相關問題