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

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

Android圖片加載案例分享

2019-10-23 18:27:59
字體:
供稿:網(wǎng)友

HttpURLConnection和HttpClient都可以訪問網(wǎng)絡(luò),前者是Java的標(biāo)準(zhǔn)類,后者是Apache的一個(gè)開源項(xiàng)目,兩者使用起來效果一樣,但后者更為簡單。
 以下是針對(duì)前者完成的一個(gè)實(shí)例:
首先寫好布局文件:

<LinearLayout 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"  android:orientation="vertical"  tools:context=".MainActivity" >  <ImageView    android:id="@+id/iv"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1" />  <EditText    android:id="@+id/et_path"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:hint="請輸入圖片路徑"    android:src="@drawable/    android:maxLines="1" />  <Button  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:onClick="click"    android:text="瀏覽" /></LinearLayout>

Android,圖片加載

界面交互

package cn.edu.bzu.imageviewdemo;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.text.TextUtils;import android.view.View;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class MainActivity extends AppCompatActivity {  protected static final int CHANGE_UI = 1;  protected static final int ERROR = 2;  private EditText et_path;  private ImageView iv;  // 主線程創(chuàng)建消息處理器  private Handler handler = new Handler(){    public void handleMessage(android.os.Message msg) {      if(msg.what == CHANGE_UI){        Bitmap bitmap = (Bitmap) msg.obj;        iv.setImageBitmap(bitmap);      }else if(msg.what == ERROR){        Toast.makeText(MainActivity.this, "顯示圖片錯(cuò)誤", 0).show();      }    };  };  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    et_path = (EditText) findViewById(R.id.et_path);    iv = (ImageView) findViewById(R.id.iv);  }  public void click(View view) {    final String path = et_path.getText().toString().trim();    if (TextUtils.isEmpty(path)) {      Toast.makeText(this, "圖片路徑不能為空", Toast.LENGTH_SHORT).show();    } else {      //子線程請求網(wǎng)絡(luò),Android4.0以后訪問網(wǎng)絡(luò)不能放在主線程中      new Thread() {        public void run() {          // 連接服務(wù)器 get 請求 獲取圖片.          try {            URL url = new URL(path);    //創(chuàng)建URL對(duì)象            // 根據(jù)url 發(fā)送 http的請求.            HttpURLConnection conn = (HttpURLConnection) url                .openConnection();            // 設(shè)置請求的方式            conn.setRequestMethod("GET");            //設(shè)置超時(shí)時(shí)間            conn.setConnectTimeout(5000);            // 得到服務(wù)器返回的響應(yīng)碼            int code = conn.getResponseCode();            //請求網(wǎng)絡(luò)成功后返回碼是200            if (code == 200) {              //獲取輸入流              InputStream is = conn.getInputStream();              //將流轉(zhuǎn)換成Bitmap對(duì)象              Bitmap bitmap = BitmapFactory.decodeStream(is);              //iv.setImageBitmap(bitmap);              //TODO: 告訴主線程一個(gè)消息:幫我更改界面。內(nèi)容:bitmap              Message msg = new Message();              msg.what = CHANGE_UI;              msg.obj = bitmap;              handler.sendMessage(msg);            } else {              //返回碼不是200 請求服務(wù)器失敗              Message msg = new Message();              msg.what = ERROR;              handler.sendMessage(msg);            }          } catch (Exception e) {            e.printStackTrace();            Message msg = new Message();            msg.what = ERROR;            handler.sendMessage(msg);          }        };      }.start();    }  }}

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


注:相關(guān)教程知識(shí)閱讀請移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 出国| 双鸭山市| 常州市| 邯郸县| 比如县| 张家界市| 新干县| 莫力| 海林市| 青岛市| 台南县| 寻甸| 连山| 滦平县| 洪洞县| 通山县| 湟源县| 克拉玛依市| 浠水县| 宜章县| 乌拉特中旗| 馆陶县| 全州县| 新源县| 潢川县| 凌海市| 江永县| 宜春市| 祁东县| 西宁市| 胶州市| 益阳市| 化德县| 甘德县| 中阳县| 洛阳市| 江华| 扶余县| 鸡西市| 阜宁县| 崇礼县|