ImageView获取网络图片

来源:互联网 发布:linux切换到root 编辑:程序博客网 时间:2024/04/29 22:15

注意加网络权限

package com.example.test_edittext;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.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ImageView;public class MainActivity extends Activity {Activity context=this;Bitmap bitmap;//定义一个图片显示控件private ImageView imageView;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        new Task().execute();    }    /**     * 获取网落图片资源      * @param url     * @return     */    public static Bitmap getHttpBitmap(String url){    URL myFileURL;    Bitmap bitmap=null;    try{    myFileURL = new URL(url);    //获得连接    HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection();    //设置超时时间为6000毫秒,conn.setConnectionTiem(0);表示没有时间限制    conn.setConnectTimeout(6000);    //连接设置获得数据流    conn.setDoInput(true);    //不使用缓存    conn.setUseCaches(false);    //这句可有可无,没有影响    conn.connect();    //得到数据流    InputStream is = conn.getInputStream();    //解析得到图片    bitmap = BitmapFactory.decodeStream(is);    //关闭数据流    is.close();    }catch(Exception e){    e.printStackTrace();    }    return bitmap;        }    class Task  extends AsyncTask<String, Integer, String>{@Overrideprotected String doInBackground(String... params) {// TODO Auto-generated method stub String url = "http://avatar.csdn.net/4/9/2/1_djun100.jpg";        //得到可用的图片         bitmap = getHttpBitmap(url);return null;}@Overrideprotected void onPostExecute(String result) {// TODO Auto-generated method stubsuper.onPostExecute(result);         Message msg=new Message();         msg.what=0;         handler.sendMessage(msg);}        }    Handler handler=new Handler(){@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);switch(msg.what){case 0:        imageView = (ImageView)context.findViewById(R.id.iv_pic);        //显示        imageView.setImageBitmap(bitmap);}}        };}