HttpURLConnection请求图片

来源:互联网 发布:.market域名 编辑:程序博客网 时间:2024/05/29 05:08

效果图:

这里写图片描述

页面代码:

public class HttpJpgActivity extends Activity {    private ImageView view;    private Handler handler;    private File file = new File(Environment.getExternalStorageDirectory(), "baidu.jpg");    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.item_image);        view = (ImageView) findViewById(R.id.iv_city);        new Thread(new ImageThread()).start();        handler = new Handler() {            @Override            public void handleMessage(Message msg) {                try {                    FileInputStream fileInputStream = new FileInputStream(file);                    Bitmap bitmap = BitmapFactory.decodeStream(fileInputStream);                    view.setImageBitmap(bitmap);                } catch (FileNotFoundException e) {                    e.printStackTrace();                }            }        };    }    public class ImageThread implements Runnable {        @Override        public void run() {            try {                URL url = new URL("http://www.baidu.com/img/bdlogo.png");                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();                urlConnection.setRequestMethod("GET");                urlConnection.setConnectTimeout(3000);                urlConnection.setReadTimeout(3000);                urlConnection.connect();                FileOutputStream fileOutputStream = new FileOutputStream(file);                if (urlConnection.getResponseCode() == 200) {                    InputStream inputStream = urlConnection.getInputStream();                    byte[] bytes = new byte[1024];                    int len;                    while ((len = inputStream.read(bytes)) != -1) {                        fileOutputStream.write(bytes, 0, len);                    }                    //将缓冲刷入文件                    fileOutputStream.flush();                    handler.sendEmptyMessage(0x001);                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }        }    }}

权限:

<uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
0 0
原创粉丝点击