国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

android利用消息機(jī)制獲取網(wǎng)絡(luò)圖片

2019-10-23 18:33:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在前面都寫(xiě)到用AsyncTask來(lái)獲取網(wǎng)絡(luò)中的圖片。其實(shí)利用消息機(jī)制也能獲取網(wǎng)絡(luò)中的圖片,而且本人感覺(jué)用消息機(jī)制還是挺簡(jiǎn)單的。

消息機(jī)制的圖解:

android利用消息機(jī)制獲取網(wǎng)絡(luò)圖片,android獲取網(wǎng)絡(luò)圖片,android消息機(jī)制獲取圖片  

下面就用看代碼來(lái)理解上面的圖片。

布局:activity_main.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"   android:layout_height="match_parent"   tools:context="cn.edu.huse.handle.MainActivity" >    <ImageView     android:layout_width="match_parent"     android:layout_height="match_parent"     android:id="@+id/iv_image" />   <Button      android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:onClick="getImage"     android:text="獲取網(wǎng)絡(luò)圖片"     android:layout_gravity="bottom|center"     android:layout_marginBottom="20dp"/>  </FrameLayout> 

MainActivity.java

package cn.edu.huse.handle;  import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL;  import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.ImageView; import android.widget.Toast;  /**  * @author Lenovo  *  */ public class MainActivity extends Activity {    protected static final int LOAD_SUCCESS = 0;    private static final int LOAD_ERROR = 1;    private ImageView iv_image;      private Handler mHandler = new Handler(){     public void handleMessage(Message msg) {       switch (msg.what) {       case LOAD_SUCCESS:   //加載圖片成功         Bitmap bitmap = (Bitmap) msg.obj; //獲取消息里面的數(shù)據(jù)         iv_image.setImageBitmap(bitmap);         break;       case LOAD_ERROR:  //加載失敗         Toast.makeText(MainActivity.this, "圖片加載失敗", 0).show();         break;       }     };   };    @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);          iv_image = (ImageView) findViewById(R.id.iv_image);   }      public void getImage(View v){     new Thread(new Runnable() {              @Override       public void run() {         String path = "http://p2.so.qhimgs1.com/bdr/_240_/t01666725c7200ad5ae.jpg";                  try {           //1、獲取URL           URL url = new URL(path);           //2、得到連接對(duì)象           HttpURLConnection conn = (HttpURLConnection) url.openConnection();           //設(shè)置連接時(shí)長(zhǎng)           conn.setConnectTimeout(5000);           //設(shè)置請(qǐng)求方式           conn.setRequestMethod("GET");           //判斷是否響應(yīng)成功           if(conn.getResponseCode() == 200){             //3、獲取輸入流             InputStream inputStream = conn.getInputStream();             //4、獲得圖片資源Bitmap             Bitmap bitmap = BitmapFactory.decodeStream(inputStream);             //消息對(duì)象             Message msg = new Message();             msg.what = LOAD_SUCCESS; //唯一標(biāo)識(shí)             msg.obj = bitmap;   //消失里面寫(xiě)在的數(shù)據(jù)             mHandler.sendMessage(msg); //發(fā)送消失給Handle           }else{             alertUses();           }                    } catch (Exception e) {           e.printStackTrace();           alertUses();         }       }     }).start();   }      /**    * 土司提醒用戶(hù),圖片加載失敗    */   public void alertUses(){     mHandler.sendEmptyMessage(LOAD_ERROR);   } } 

添加權(quán)限:

android利用消息機(jī)制獲取網(wǎng)絡(luò)圖片,android獲取網(wǎng)絡(luò)圖片,android消息機(jī)制獲取圖片

運(yùn)行結(jié)果:

android利用消息機(jī)制獲取網(wǎng)絡(luò)圖片,android獲取網(wǎng)絡(luò)圖片,android消息機(jī)制獲取圖片

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開(kāi)發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 扎兰屯市| 宜川县| 正镶白旗| 宝兴县| 嘉义县| 明星| 洛浦县| 温州市| 绵阳市| 神木县| 绩溪县| 凤阳县| 龙州县| 麟游县| 定结县| 攀枝花市| 四川省| 新化县| 浦城县| 阿拉善右旗| 平遥县| 昌都县| 北安市| 大竹县| 新绛县| 神池县| 桐庐县| 潼南县| 电白县| 安塞县| 买车| 镇坪县| 中卫市| 金平| 曲松县| 郎溪县| 大城县| 勐海县| 城固县| 卫辉市| 出国|