网络图片查看器
输入网络图片路径,点击查看把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
相关文章
- 09-24对于卷积神经网络CNN中卷积层Conv2D结构与计算的详细理解,图片整理自多个参考书籍
- 09-24Android背景图片大小以像素为单位
- 09-24android开发使用Glide加载图片模糊不清的解决方法
- 09-24Android Jetpack中Paging3 从网络和数据库加载页面
- 09-24img引用网络图片资源无法加载问题解决
- 09-24Android-获取bmob中音频图片进行播放显示
- 09-24kindeditor 去掉网络图片上传功能
- 09-24pytorch与tensorflow网络输入图片通道在前在后(channel_first和channel_last)
- 09-24Android 在代码中修改TextView的DrawableRight等方向上的图片
- 09-24安卓TextView显示Html以及其中的网络图片