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

首頁 > 系統 > Android > 正文

Android獲取網絡圖片并顯示的方法

2019-10-21 21:35:36
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android獲取網絡圖片并顯示的具體代碼,供大家參考,具體內容如下

使用 HttpURLConnection 獲得連接,再使用 InputStream 獲得圖片的數據流,通過 BitmapFactory 將數據流轉換為 Bitmap,再將 Bitmap 通過線程的 Message 發(fā)送出去,Handler 接收到消息就會通知 ImageView 顯示出來。

Android,網絡圖片

記得要在manifest文件中添加 < uses-permission android:name=”android.permission.INTERNET” />上網權限,不然無法顯示圖片。

工程文件結構:

Android,網絡圖片

布局文件中就一個 ImageView 用來顯示圖片,一個 Button 用來獲取圖片。

MainActivity.java

public class MainActivity extends AppCompatActivity {  Button button;  ImageView imageView;  String url = "http://i4.buimg.com/dccba6282641a9e0.jpg";  //String textURL = "http://192.168.1.104:8080/add.jsp";  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button = (Button) findViewById(R.id.button);    imageView = (ImageView) findViewById(R.id.imageView);    button.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        new Thread(new Runnable() {          @Override          public void run() {            Bitmap bmp = getURLimage(url);            Message msg = new Message();            msg.what = 0;            msg.obj = bmp;            System.out.println("000");            handle.sendMessage(msg);          }        }).start();      }    });  }  //在消息隊列中實現對控件的更改  private Handler handle = new Handler() {    public void handleMessage(Message msg) {      switch (msg.what) {        case 0:          System.out.println("111");          Bitmap bmp=(Bitmap)msg.obj;          imageView.setImageBitmap(bmp);          break;      }    };  };  //加載圖片  public Bitmap getURLimage(String url) {    Bitmap bmp = null;    try {      URL myurl = new URL(url);      // 獲得連接      HttpURLConnection conn = (HttpURLConnection) myurl.openConnection();      conn.setConnectTimeout(6000);//設置超時      conn.setDoInput(true);      conn.setUseCaches(false);//不緩存      conn.connect();      InputStream is = conn.getInputStream();//獲得圖片的數據流      bmp = BitmapFactory.decodeStream(is);//讀取圖像數據      //讀取文本數據      //byte[] buffer = new byte[100];      //inputStream.read(buffer);      //text = new String(buffer);      is.close();    } catch (Exception e) {      e.printStackTrace();    }    return bmp;  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍溪县| 四子王旗| 马公市| 甘谷县| 包头市| 岑巩县| 郎溪县| 石河子市| 咸丰县| 二连浩特市| 营山县| 黔东| 泽普县| 高陵县| 佳木斯市| 广西| 梁平县| 获嘉县| 新密市| 交口县| 理塘县| 开鲁县| 德清县| 洪江市| 安国市| 南华县| 阿勒泰市| 恩平市| 迭部县| 滦平县| 武乡县| 嘉兴市| 湖北省| 平舆县| 庐江县| 涿州市| 宜君县| 枣强县| 柞水县| 潼关县| 类乌齐县|