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

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

Android開發(fā)實(shí)現(xiàn)加載網(wǎng)絡(luò)圖片并下載至本地SdCard的方法

2019-12-12 01:19:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Android開發(fā)實(shí)現(xiàn)加載網(wǎng)絡(luò)圖片并下載至本地SdCard的方法。分享給大家供大家參考,具體如下:

package com.example.myimagedemo;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.widget.ImageView;public class MainActivity extends Activity {  private ImageView mImageView;  private String imgPath="http://pic.nipic.com/2007-11-09/200711912453162_2.jpg";  private File cache;//緩存路徑  Handler handler=new Handler(new Handler.Callback() {    @Override    public boolean handleMessage(Message msg) {      //顯示      Bitmap b=(Bitmap)msg.obj;      mImageView.setImageBitmap(b);      //保存至本地      File imgFile=new File(cache,"woca.jpg");      try {        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(imgFile));        b.compress(Bitmap.CompressFormat.JPEG,80,bos);        bos.flush();        bos.close();      } catch (Exception e) {        // TODO Auto-generated catch block        e.printStackTrace();      }      return false;    }  });  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mImageView=(ImageView)findViewById(R.id.mImageView);    //創(chuàng)建緩存路徑    //Environment.getExternalStorageDirectory()獲取手機(jī)內(nèi)存卡根路徑    cache=new File(Environment.getExternalStorageDirectory(),"Test");    if(!cache.exists()){      cache.mkdirs();    }    //耗時(shí)操作都要放在子線程操作    //開啟子線程獲取輸入流    new Thread(new Runnable() {      @Override      public void run() {        HttpURLConnection conn=null;        InputStream is=null;        try {          URL url=new URL(imgPath);          //開啟連接          conn=(HttpURLConnection) url.openConnection();          //設(shè)置連接超時(shí)          conn.setConnectTimeout(5000);          //設(shè)置請(qǐng)求方式          conn.setRequestMethod("GET");          //conn.connect();          if(conn.getResponseCode()==200){            is=conn.getInputStream();            Bitmap b=BitmapFactory.decodeStream(is);            //把輸入流轉(zhuǎn)化成bitmap格式,以msg形式發(fā)送至主線程            Message msg=new Message();            msg.obj=b;            handler.sendMessage(msg);          }        } catch (Exception e) {          e.printStackTrace();        }finally{          try {          //用完記得關(guān)閉            is.close();            conn.disconnect();          } catch (IOException e) {            e.printStackTrace();          }        }      }    }).start();  }}

記得在AndroidMenifest.xml文件加入這三個(gè)權(quán)限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

另,可點(diǎn)擊此處查看Android權(quán)限操作說(shuō)明

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 忻州市| 五华县| 邹平县| 呼玛县| 武胜县| 九江县| 孝感市| 唐海县| 高陵县| 师宗县| 崇仁县| 正镶白旗| 濉溪县| 那曲县| 青田县| 舒兰市| 东阿县| 宁城县| 涞源县| 故城县| 积石山| 绥德县| 永寿县| 石景山区| 永平县| 永嘉县| 自贡市| 昌宁县| 阳春市| 广东省| 松滋市| 四平市| 巴彦淖尔市| 怀集县| 阿拉善盟| 鲜城| 岐山县| 万山特区| 隆德县| 铜川市| 镇沅|