html.fromhtml如何從web加載圖片並設置爲imageview?android html.fromhtml從網頁加載圖片
3
A
回答
11
異步圖片下載
首先要做的是確保你請求允許下載清單文件內的圖像。
<uses-permission android:name="android.permission.INTERNET" />
然後,要從網上下載圖像,我們需要打開HTTP連接,下載並返回圖像。這種方法應該放在活動中。
private Bitmap DownloadImage(String URL)
然後我們便下載的圖像添加到ImageView的
Bitmap bitmap = DownloadImage("http://www.streetcar.org/mim/cable/images/cable-01.jpg");
ImageView img = (ImageView) findViewById(R.id.img);
img.setImageBitmap(bitmap);
然而,這不是異步。
通常我們會創建一個線程來完成一些後臺工作,但是線程無法更新它沒有創建的視圖。
要解決這個問題,我們可以使用AsyncTask。我寫了這個擴展AsyncTask的小內部類。
class DownloadImagesTask extends AsyncTask<String, Integer, Bitmap> {
private int imageViewID;
protected void onPostExecute(Bitmap bitmap1) {
setImage(imageViewID, bitmap1);
}
public void setImageId(int imageViewID) {
this.imageViewID = imageViewID;
}
@Override
protected Bitmap doInBackground(String... url) {
Bitmap bitmap1 =
DownloadImage(url[0]);
return bitmap1;
}
}
通過的AsyncTask使用的三種類型是
- PARAMS,在執行時發送給任務的參數 的類型。
- 進度,後臺計算期間發佈的進度單位的類型。
- 結果,後臺計算結果的類型。
所以,以取代舊的代碼,我們現在可以使用
DownloadImagesTask task1 = new DownloadImagesTask();
task1.setImageId(R.id.img1);
task1.execute("http://assets.devx.com/articlefigs/39810_1.jpg");
這得到了很多的時間比我的計劃。代碼不完美,但我希望它對你有所幫助。
注:這是基於Connecting to the web在DevX
參考
相關問題
- 1. 如何從網頁加載圖片?
- 2. 圖片不加載網頁
- 3. 從網址加載圖片
- 4. 網頁圖片加載時間
- 5. 當webview從服務器加載網頁時,從res或assets加載圖片
- 6. 在網頁中更快加載圖片
- 7. 如何從網址加載圖片
- 8. Glide 3.7.0未從網址加載圖片
- 9. 從網頁下載圖片使用python
- 10. Fancybox - 如何從網址加載圖片?
- 11. 從網頁下載圖片,不向用戶顯示網頁?
- 12. 從Flash中加載網頁中的圖片
- 13. C#Metro應用程序如何從網頁加載圖片
- 14. 圖片加載網站加載
- 15. Android:從片段頁面加載活動或意圖
- 16. 從網站下載圖片
- 17. 從網頁上傳圖片
- 18. 從帖子上的精選圖片加載wordpress頁腳圖片
- 19. 在片段上加載圖片,android studio
- 20. 的Android html.fromhtml + spannablestring
- 21. 從url加載圖片
- 22. 圖片加載SD卡從
- 23. 從背景加載圖片
- 24. UiCollectionView - 從url加載圖片
- 25. 從URL加載圖片(nsurlconnection)
- 26. 從msbuild加載網頁
- 27. 包括加載幻燈片的網頁
- 28. 加載圖像的圖片庫頁
- 29. 頁面加載從照片集合克隆第一張圖片
- 30. 加載網頁
你能澄清,如果這是你的問題嗎? 「我們如何從網上下載圖像並將其顯示在Android'ImageView'中?」 – 2010-01-02 13:29:34
我已經刪除了舊的答案,並添加了一個處理異步需求的答案。請讓我知道,如果你有任何問題。 – Ally 2010-01-02 21:41:57