欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 將網(wǎng)絡(luò)的Url資源轉(zhuǎn)換為Drawable資源方式

 更新時(shí)間:2020年03月23日 09:09:41   作者:GreatCoder726  
這篇文章主要介紹了Android 將網(wǎng)絡(luò)的Url資源轉(zhuǎn)換為Drawable資源方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

Overview

在今天的開發(fā)學(xué)習(xí)中,我遇到了一個(gè)需求是在App的flash頁面添加bing每日一圖。這些都簡單,但是當(dāng)我獲取到了圖片的Url時(shí),我就遇到了一個(gè)非常尷尬的問題。就是如何將Url轉(zhuǎn)換為Drawabl并且添加到ImageView.

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

Url轉(zhuǎn)換為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;
}

這部分就是我們將網(wǎng)絡(luò)Url資源轉(zhuǎn)換為Drawable資源了。

然后我們根據(jù)我們的源碼來分析一波:

首相我們創(chuàng)建了一個(gè)Drawable

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

這樣我們的Url網(wǎng)絡(luò)資源,轉(zhuǎn)換為Drawable就完成。

補(bǔ)充知識(shí):URL轉(zhuǎn)Drawable之 Android中獲取網(wǎng)絡(luò)圖片的三種方法

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

1.直接獲取:(容易:ANR,不建議)

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. 后臺(tái)線程獲取url圖片:

mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ; 
new Thread(new Runnable(){ 
 Drawable drawable = loadImageFromNetwork(IMAGE_URL); 
 @Override 
 public void run() { 
   
  // post() 特別關(guān)鍵,就是到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 將網(wǎng)絡(luò)的Url資源轉(zhuǎn)換為Drawable資源方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android簡單實(shí)現(xiàn)引導(dǎo)頁

    Android簡單實(shí)現(xiàn)引導(dǎo)頁

    這篇文章主要為大家詳細(xì)介紹了Android簡單實(shí)現(xiàn)引導(dǎo)頁,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 可支持快速搜索篩選的Android自定義選擇控件

    可支持快速搜索篩選的Android自定義選擇控件

    這篇文章主要為大家詳細(xì)介紹了可支持快速搜索篩選的Android自定義選擇控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 理解Android中的自定義屬性

    理解Android中的自定義屬性

    這篇文章主要介紹了理解Android中的自定義屬性,在android相關(guān)應(yīng)用開發(fā)過程中,固定的一些屬性可能滿足不了開發(fā)的需求,所以需要自定義控件與屬性,本文將以此問題進(jìn)行詳細(xì)介紹,需要的朋友可以參考下
    2016-01-01
  • Android加載Gif動(dòng)畫實(shí)現(xiàn)代碼

    Android加載Gif動(dòng)畫實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Android加載Gif動(dòng)畫實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android帶進(jìn)度條的文件上傳示例(使用AsyncTask異步任務(wù))

    Android帶進(jìn)度條的文件上傳示例(使用AsyncTask異步任務(wù))

    這篇文章主要介紹了Android帶進(jìn)度條的文件上傳示例(使用AsyncTask異步任務(wù)),使用起來比較方便,將幾個(gè)方法實(shí)現(xiàn)就行,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • Flutter自定義搜索框效果

    Flutter自定義搜索框效果

    這篇文章主要為大家詳細(xì)介紹了Flutter自定義搜索框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • android使用webwiew載入頁面使用示例(Hybrid App開發(fā))

    android使用webwiew載入頁面使用示例(Hybrid App開發(fā))

    Hybrid App 融合 Web App 的原理就是嵌入一個(gè)WebView組件,可以在這個(gè)組件中載入頁面,相當(dāng)于內(nèi)嵌的瀏覽器,下面是使用示例
    2014-03-03
  • Android?全局通知彈窗示例分析詳解

    Android?全局通知彈窗示例分析詳解

    這篇文章主要為大家介紹了Android?全局通知彈窗實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Android雙擊事件攔截方法

    Android雙擊事件攔截方法

    下面小編就為大家分享一篇Android雙擊事件攔截方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Android NDK 開發(fā)教程

    Android NDK 開發(fā)教程

    這篇文章主要介紹了Android NDK 開發(fā)教程的相關(guān)資料,需要的朋友可以參考下
    2015-11-11

最新評(píng)論