package com.example.glide;import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import com.bumptech.glide.Glide;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ImageView;public class MainActivity extends Activity {// 将从此URL加载网络图片。      private String img_url = "http://avatar.csdn.net/9/7/A/1_zhangphil.jpg";     privateHandler handler;    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final ImageView image=(ImageView) findViewById(R.id.imageView);//Glide.with(this).load(img_url).crossFade(1000).into(image); handler=new Handler(){@OverridepublicvoidhandleMessage(Message msg){Bitmap bmp=(Bitmap) msg.obj;image.setImageBitmap(bmp);}};new Thread(new Runnable(){@Overridepublic void run() {Bitmap bmp=loadBitmap(img_url);Message msg=handler.obtainMessage();msg.obj=bmp;handler.sendMessage(msg);}}).start();}privateBitmap loadBitmap(String url){Bitmap bmp = null;          try {              byte[] imageBytes = loadRawDataFromURL(url);                        bmp = BitmapFactory.decodeByteArray(imageBytes, 0,                      imageBytes.length);          } catch (Exception e) {              e.printStackTrace();          }                  returnbmp;}public static byte[] loadRawDataFromURL(String u) throws Exception {          URL url = new URL(u);          HttpURLConnection conn = (HttpURLConnection) url.openConnection();            InputStream is = conn.getInputStream();          BufferedInputStream bis = new BufferedInputStream(is);            ByteArrayOutputStream baos = new ByteArrayOutputStream();            final int BUFFER_SIZE = 2048;          final int EOF = -1;            int c;          byte[] buf = new byte[BUFFER_SIZE];            while (true) {              c = bis.read(buf);              if (c == EOF)                  break;                baos.write(buf, 0, c);          }            conn.disconnect();          is.close();            byte[] data = baos.toByteArray();          baos.flush();            return data;      }  }

更多相关文章

  1. android 大图片拖拽并缩放实现原理
  2. Android:下载网络图片
  3. android ScrollView 多张图片之间有空白
  4. android 网络状态监听
  5. android从网上下载图片
  6. android ImageSwitcher案例
  7. Android图片上传工具类
  8. android访问网络图片
  9. android:使用webview加载网页

随机推荐

  1. Android(安卓)Studio在引用项目时使用JDK
  2. android system services startup proces
  3. gradle android基本配置详解
  4. android基于Xmpp的即时通讯开发
  5. android XmlSerializer 组拼xml
  6. android Shape Drawable创建两边半圆的按
  7. android资料
  8. Android(安卓)Message机制
  9. Android(安卓)Gallery(超豪华胜优酷,自动
  10. android 如何优雅地给Activity和Fragemen