2中方法:

1.

public byte[] downloadResource(Context context, String url)throws ClientProtocolException, IOException {isStop = false;ByteArrayBuffer buffer = null;HttpGet hp = new HttpGet(url);httpClient = new DefaultHttpClient();String netType = isNetType(context);if (netType != null & netType.equals("cmwap")) {HttpHost proxy = new HttpHost("10.0.0.172", 80);httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY,proxy);}HttpConnectionParams.setConnectionTimeout(httpClient.getParams(),5 * 1000);HttpConnectionParams.setSoTimeout(httpClient.getParams(), 60 * 1000);HttpResponse response = httpClient.execute(hp);if (response.getStatusLine().getStatusCode() == 200) {inputstream = response.getEntity().getContent();if (inputstream != null) {int i = (int) response.getEntity().getContentLength();buffer = new ByteArrayBuffer(1024);byte[] tmp = new byte[1024];int len;while (((len = inputstream.read(tmp)) != -1)&& (false == isStop)) {buffer.append(tmp, 0, len);}}cancel();}return buffer.toByteArray();}
调用方法:

protected Bitmap doInBackground(WonderfulprogramInfo... params){Bitmap bitmap = null;try{String urls = Constant.url + params[0].getWonderfulImgUrl();boolean isExists = Files.compare(urls);if (isExists == false){//网络下载图片数据Net net = new Net();byte[] data = net.downloadResource(HomeActivity.this, urls);bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);imagesCache.put(urls, bitmap); // 把下载好的图片保存到缓存中Files.saveImage(urls, data);} else{//本地读取图片数据byte[] data = Files.readImage(urls);BitmapFactory.Options opt = new BitmapFactory.Options();opt.inPreferredConfig = Bitmap.Config.RGB_565;opt.inPurgeable = true;opt.inInputShareable = true;// //获取资源图片// InputStream is =// context.getResources().openRawResource(resId);// return BitmapFactory.decodeStream(is,null,opt);bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, opt);imagesCache.put(urls, bitmap); // 把下载好的图片保存到缓存中}

方法二:

class DownLoadTask extends AsyncTask<String, Void, Bitmap> {private ImageView imageView;private Integer positions;public DownLoadTask(ImageView view, int position) {imageView = view;this.positions = position;}protected Bitmap doInBackground(String... params) {URL url;try {url = new URL(params[0]);InputStream is = url.openStream();BitmapFactory.Options opt = new BitmapFactory.Options();opt.inPreferredConfig = Bitmap.Config.RGB_565;opt.inPurgeable = true;opt.inInputShareable = true;// 获取资源图片Bitmap bitmap = BitmapFactory.decodeStream(is, null, opt);HomeActivity.TopGalleryBitmap.put(positions, bitmap);return bitmap;} catch (OutOfMemoryError err) {err.printStackTrace();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return null;}protected void onPostExecute(Bitmap result) {super.onPostExecute(result);imageView.setImageBitmap(result);}}


更多相关文章

  1. Android(安卓)Studio实现Activity生命周期的7个方法Log打印日志
  2. Android开发规范
  3. Android之修改部分字体颜色
  4. Android(安卓)camera调用出现错误解决方法
  5. Android(安卓)Studio常见错误及解决方法汇总
  6. android 控件属性
  7. android 4.0.3 dhcpcd使用方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. android dialog home键
  2. 64位 Ubuntu android studio 编译android
  3. Android(安卓)开发之官方文档ActionBar学
  4. 判断Android手机是否联网
  5. 工作笔记之编译android时切换JDK
  6. eclipse Missing Constraint: Bundle-Req
  7. android ftp案例分析
  8. android 动画
  9. Android(安卓)Studio 错误 Duplicate fil
  10. android退出activity提示再按一次返回键