`
busuanzi
  • 浏览: 143883 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

android 获取网络图片方法 常见错误以及解决办法

阅读更多
private Bitmap getUrlimg(String url) throws IOException {
		Bitmap bitmap = null;
		URL imageUrl = null;
		String head = "http://114.80.209.134:13080/";
		String tureUrl = head + url;
		imageUrl = new URL(tureUrl);
		
		HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
		conn.connect();
		InputStream is = conn.getInputStream();
		BufferedInputStream bis = new BufferedInputStream(is);
		bitmap = 
		bis.close();
		is.close();

		return bitmap;
	}

以前经常用这种方式获得图片,但是今天发现当图片比较多而且大时,经常 失败,

后来发现  io流的获取没有出错,得到的是完整的io流,但是 还是失败,发现是那个 BitmapFactory.decodeStream(bis);的问题  后来改成这样,见下,可以完全解决问题。
private Bitmap getUrlimg(String url) throws IOException {
		Bitmap bitmap = null;
		URL imageUrl = null;
		String head = "http://114.80.209.134:13080/";
		String tureUrl = head + url;
		imageUrl = new URL(tureUrl);

		HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
		conn.setRequestMethod("GET");
		conn.setConnectTimeout(5 * 1000);
		conn.connect();
		InputStream is = conn.getInputStream();
		byte[] bt = getBytes(is);
		bitmap = BitmapFactory.decodeByteArray(bt, 0, bt.length);
		is.close();
		conn.disconnect();
		return bitmap;
	}
	
	private byte[] getBytes(InputStream is) throws IOException {

		ByteArrayOutputStream baos =new ByteArrayOutputStream();

		byte[] b =new byte[1024];
		int len = 0;
		while ((len = is.read(b, 0, 1024)) !=-1) {
			baos.write(b, 0, len);
			baos.flush();
		}
		byte[] bytes = baos.toByteArray();
		return bytes;
	}
分享到:
评论

相关推荐

    Android获取网络图片

    总之,Android获取网络图片的关键在于正确使用线程模型来分离UI更新和网络请求,同时结合合适的图片加载库来优化性能。通过Thread和Handler的组合,我们可以实现在不阻塞主线程的情况下,安全、有效地加载网络图片。

    android获取网络图片

    在Android开发中,获取网络图片是一项常见的任务,尤其在构建用户界面时,如显示新闻、商品详情或个人头像等。本案例主要讲解如何在Android应用中通过HTTP GET请求下载并显示网络上的图片。我们将围绕以下几个核心...

    android 获取网络图片(universalImageLoader 测试工程)

    总之,这个“android 获取网络图片(universalImageLoader 测试工程)”是一个很好的学习资源,它涵盖了Android中网络图片加载的基本流程,使用了强大的`UniversalImageLoader`库,并解决了ListView滚动时的图片加载...

    Android Studio开发显示网络图片

    1. **获取网络图片的URL**:首先,你需要一个指向网络图片的URL,可以是静态链接或动态API返回。 2. **创建网络请求**:使用HttpURLConnection或OkHttp等网络库发起GET请求。OkHttp是一个高效的网络库,它提供了...

    android 访问网络图片

    以下是一个使用`HttpURLConnection`获取网络图片的基本步骤: 1. **创建URL对象**:根据图片的网络地址创建`java.net.URL`对象。 ```java URL imageUrl = new URL("http://example.com/image.jpg"); ``` 2. **打开...

    android获取网络数据到本地并查看.zip

    在Android平台上,获取网络数据并将其存储到本地是常见的任务,尤其在开发涉及网络通信的应用时...项目“android获取网络数据到本地并查看.doc”可能详细阐述了这些步骤,包括具体的代码示例和可能遇到的问题解决方法。

    android常见错误集

    本文将根据"android常见错误集"这个主题,结合压缩包中的"android常见问题集",详细讨论一些常见的Android开发错误以及解决策略。 1. **Null Pointer Exception**:这是Java编程中最常见的错误,表示尝试访问一个空...

    Android网络图片加载缓存处理库 ImageLoader

    在Android应用开发中,网络图片的加载和缓存是一个常见的需求。ImageLoader是一个高效、便捷的库,专门用于处理这种需求。本篇文章将详细介绍ImageLoader库的使用,以及它在网络图片加载和缓存方面的工作原理。 一...

    android异步显示网络图片

    在Android开发中,异步加载网络图片是一项常见的需求,特别是在构建具有丰富图像内容的应用时。AsyncImageLoader 和 PicUtils 是两个关键的类,用于解决这个问题。让我们深入了解一下这两个类以及它们在Android网络...

    Android 图片轮播(网络加载和本地图片)

    在Android应用开发中,图片轮播是一种常见的功能,用于展示一系列图片或广告,通常在网络加载和本地存储之间切换。这个开源项目"Android Image Slider"由daimajia提供,是GitHub上一个广受欢迎的解决方案,它修复了...

    Android应用源码之listview获取网络图片缓存优化-IT计算机-毕业设计.zip

    本项目"Android应用源码之listview获取网络图片缓存优化"就是针对这个问题进行的一次实践和优化。 在Android ListView中,由于其滚动特性,当用户滚动时,屏幕上的项会反复绘制。如果不进行优化,每次滚动到新的...

    Android应用源码之从网络上获取图片.zip

    - 创建Glide或Picasso的实例,使用`load()`方法传入网络图片的URL。 - 添加适当的转换操作,如调整图片尺寸,适应屏幕大小。 - 添加加载和错误占位符,以提升用户体验。 - 最后,调用`into(ImageView imageView)...

    android网络地址加载图片

    综上所述,这个类的核心功能就是利用异步加载策略,结合缓存机制,实现高效、流畅的网络图片加载到Android UI控件。开发者可以基于这些知识点进行扩展,结合具体的业务需求,创建更加完善的图片加载解决方案。

    轻量级的android原生图片选择拍照第三方库

    在Android开发中,图片的选择和拍照是常见的功能需求,尤其对于社交、电商或者任何涉及到用户上传图片的应用来说,这是必不可少的。本节我们将探讨一个轻量级的Android原生图片选择拍照第三方库——TakePhoto,它...

    Android 在Android远程上传以及下载图片---XFire框架.zip

    在Android应用开发中,图片的上传与下载是常见的功能需求,尤其在社交、电商或媒体类应用中。本项目源码以"Android 在Android远程上传以及下载图片---XFire框架.zip"为标题,旨在教授如何利用XFire框架来实现这一...

    安卓Android源码——listview获取网络图片缓存优化.rar

    本压缩包"安卓Android源码——listview获取网络图片缓存优化.rar"提供了一个名为"LazyLoaderDemo"的示例,它展示了如何通过懒加载技术来优化ListView中加载网络图片的过程,以提升用户体验。 首先,我们来看一下...

    Android 4.0 网络编程详解 王家林.pdf

    总结来说,“Android 4.0 网络编程详解”这篇文档可能详细介绍了Android 4.0版本的网络API使用方法、网络通信的最佳实践、网络编程中常见的问题和解决方案等。献给所有对技术抱有好奇心和热情的软件工程师们,意味着...

    android异步下载图片

    在Android开发中,异步加载图片是一个非常常见的需求,特别是在构建UI时,为了提供良好的用户体验,我们通常会避免在主线程中执行耗时的操作,如网络请求和图片解码。本教程将深入探讨如何利用异步操作来实现从...

    android 拍照上传图片

    在Android平台上,拍照上传图片是一项常见的功能,广泛应用于社交应用、电商、个人日记等场景。这一功能涉及到多个关键步骤和技术,包括相机权限管理、图片捕获、图片处理(如裁剪)以及网络上传。以下是对这些知识...

    关于android中的图片缓冲区问题

    本文将深入探讨Android中的图片缓冲区,包括其原理、常见问题及解决方案,结合`ImageUtilities.java`这个文件,我们将进一步了解如何在实际应用中有效地管理图片缓冲区。 首先,Android系统中图片缓冲区主要用于...

Global site tag (gtag.js) - Google Analytics