根据地址获取网路图片

方法:

/**
	 * 读取数据 获取网络图片
	 * @param path 网络图片路径
	 * @return
	 * @throws Exception
	 */
	public static byte[] getImage(String path) throws Exception
	{
		
		URL url=new URL(path);
		HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection();
		urlConnection.setConnectTimeout(5*1000);
		urlConnection.setRequestMethod("GET");
		InputStream inputStream=urlConnection.getInputStream();
		
		if(urlConnection.getResponseCode()==200)
		{
			ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
			byte[] buffer=new byte[1024];
			int len=0;
			while((len=inputStream.read(buffer))!=-1)
			{
				outputStream.write(buffer,0,len);
			}
			inputStream.close();
			outputStream.close();
			return outputStream.toByteArray();
		}
		return null;
	}


方法的调用:
try
   {
	byte[] data=ImageService.getImage(path);
	if(data!=null){
		Bitmap bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);//构造一张位图
		imageView.setImageBitmap(bitmap);//完成图片的显示
	} else {
	   Toast.makeText(MainActivity.this, R.string.fail, 1).show();
	}
    } catch (Exception e)
    {
	Toast.makeText(MainActivity.this, R.string.imagefail, 1).show();
	e.printStackTrace();
    }

你可能感兴趣的:(图片)