Android网络图片查看器
输入网络图片路径,点击查看把web应用的图片显示在手机上
MainActivity
{
EditText pathText=(EditText) this.findViewById(R.id.imagepath);
Button button=(Button) this.findViewById(R.id.button);
ImageView imageView = (ImageView) this.findViewById(R.id.imageView);
button.setOnClickListener(new ButtonClickListener());
}
private static class ButtonClickListener implements View.OnClickListener
{
public void onClick(View v)
{
String path = pathText.getText().toString();
try{
byte[] data = ImageService.getImage(path); //得到图片后以字节数组来存放图片数据,得到图片的过程为业务service
Bitmap bitmap = BitmapFactory.decodeByteArray(data,0,data.length);
imageView.setImageBitmap(bitmap); //显示图片
}catch (Exception e)
{
e.printStackTrace();
Toast.makeText(getApplicationContext(),R.string.error,1).show();
}
}
}
/*获取网络图片数据*/
public class ImageService
{
public static byte[] getImage(String path) throws Exception
{
URL url = new URL(path);
HttpURLConnection conn=(HttpURLConnection) url.openConnection(); //基于HTTP协议连接对象
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if(conn.getResponseCode() == 200) //判断请求是否成功
InputStream inStream = conn.getInputStream();
return StreamTool.read(inStream); //封装工具类,从流里面读取二进制数据
}
}
public class StreamTool
{
//读取流中的数据
public static byte[] read(InputStream inStream) throws Exception
{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len=0;
while( (len = inStream.read(buffer)) !=-1)
{
outStream.write(buffer,0,len);
}
inStream.close();
return outStream.toByteArray();
}
}
服务端Dynamic Web Project
存放一张图片,启动服务器。http://ip:8080/web/gg.gif
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。