亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Android 將網絡的Url資源轉換為Drawable資源方式

瀏覽:43日期:2022-09-25 18:10:50

Overview

在今天的開發學習中,我遇到了一個需求是在App的flash頁面添加bing每日一圖。這些都簡單,但是當我獲取到了圖片的Url時,我就遇到了一個非常尷尬的問題。就是如何將Url轉換為Drawabl并且添加到ImageView.

這邊的獲取圖片的Url就不說了。我們看一下如何將Url轉換為Drawable.

Url轉換為Drawable

我們先看一下源碼:

private Drawable loadImageFromNetwork(String imageUrl) { Drawable drawable = null; try { drawable = Drawable.createFromStream( new URL(imageUrl).openStream(), 'image.jpg'); } catch (IOException e) { Log.d('test', e.getMessage()); } if (drawable == null) { Log.d('test', 'null drawable'); } else { Log.d('test', 'not null drawable'); } return drawable;}

這部分就是我們將網絡Url資源轉換為Drawable資源了。

然后我們根據我們的源碼來分析一波:

首相我們創建了一個Drawable

然后我們通過我們的Url資源生成一個Drawable資源。

這樣我們的Url網絡資源,轉換為Drawable就完成。

補充知識:URL轉Drawable之 Android中獲取網絡圖片的三種方法

android中獲取網絡圖片是一件耗時的操作,如果直接獲取有可能會出現應用程序無響應(ANR:Application Not Responding)對話框的情況。對于這種情況,一般的方法就是耗時操作用線程來實現。下面列三種獲取url圖片的方法:

1.直接獲?。海ㄈ菀祝篈NR,不建議)

mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ; Drawable drawable = loadImageFromNetwork(IMAGE_URL); mImageView.setImageDrawable(drawable) ;

公用方法:

private Drawable loadImageFromNetwork(String imageUrl) { Drawable drawable = null; try { // 可以在這里通過文件名來判斷,是否本地有此圖片 drawable = Drawable.createFromStream( new URL(imageUrl).openStream(), 'image.jpg'); } catch (IOException e) { Log.d('test', e.getMessage()); } if (drawable == null) { Log.d('test', 'null drawable'); } else { Log.d('test', 'not null drawable'); } return drawable ; }

2. 后臺線程獲取url圖片:

mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ; new Thread(new Runnable(){ Drawable drawable = loadImageFromNetwork(IMAGE_URL); @Override public void run() { // post() 特別關鍵,就是到UI主線程去更新圖片 mImageView.post(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub mImageView.setImageDrawable(drawable) ; }}) ; } }).start() ;

3.AsyncTask獲取url圖片

mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ; new DownloadImageTask().execute(IMAGE_URL) ; private class DownloadImageTask extends AsyncTask<String, Void, Drawable> { protected Drawable doInBackground(String... urls) { return loadImageFromNetwork(urls[0]); } protected void onPostExecute(Drawable result) { mImageView.setImageDrawable(result); } }

以上這篇Android 將網絡的Url資源轉換為Drawable資源方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 国产三香港三韩国三级不卡 | 黄色视频一级毛片 | 亚洲国产精品一区二区首页 | 尤物视频在线观看免费视频 | 国产精品毛片一区 | 色综合久久中文 | 成年人免费黄色 | 国产品精人成福利视频 | 蜜桃视频一区二区在线观看 | 亚洲视频在线免费 | 久久在线免费观看视频 | 欧美精品日本一级特黄 | 免费国产成人高清在线观看不卡 | 久久www免费人成看片入口 | 欧美精品亚洲精品日韩1818 | 久久啊| 三级在线免费看 | 国产精品国色综合久久 | 国产大片一区 | 国产精品免费视频一区 | 中文字幕亚洲综合 | 美女天堂网 | 成人国产在线视频在线观看 | 日本美女黄色一级片 | 国产91原创 | 国产亚洲精品美女一区二区 | 乡村乱妇一级毛片 | 女女同性一区二区三区四区 | 欧美aaa毛片免费看 欧美aaa级 | 九九啪| 在线 中文字幕 日韩 欧美 | 日韩欧美一二三区 | 亚洲色图激情 | 91桃色视频在线观看 | 亚洲国产精品v在线播放 | 日本一级特黄视频 | 久久婷婷丁香七月色综合 | 91在线区啪国自产网页 | 在线视频精品视频 | 幸福宝色多多 | aaaaaaa毛片|