首页 > 代码库 > Android 网络下载图片

Android 网络下载图片

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 = http://www.mamicode.com/net.downloadResource(HomeActivity.this, urls);>
方法二:

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);
		}
	}


Android 网络下载图片