java - 如何使用 Java 服务器将图像发送到 Android 设备
问题描述
我正在尝试使用托管在我的计算机上的 Java 服务器将图片发送到 Android 设备。但是当图片到达手机时,它被剪切了:可以读取一张小图片(4ko),但使用 43ko 图片,只能看到图片的三分之一。
服务器 :
File f = new File("img.jpg");
BufferedImage buffer = ImageIO.read(f);
ServerSocket server = new ServerSocket(port);
Socket sock = server.accept();
ImageIO.write(buffer,"JPG",sock.getOutputStream());
安卓 :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Socket sock = new Socket(ip, port);
Drawable d = new BitmapDrawable(getResources(), BitmapFactory.decodeStream(sock.getInputStream()));
ImageView iv = findViewById(R.id.iv);
iv.setImageDrawable(d);
} catch (IOException e) {
e.printStackTrace();
}
}
解决方案
使用任何图像视图库来预览图像。希望它会工作
推荐阅读
- c# - 在 C# 中使用 XSLT 合并具有不同节点结构的多个 XML 文件
- python - 如果它高于前一个数字,则打印数字,否则不要打印它python
- angular - 在 Angular 5 中测试 @ContentChildren()
- html - 需要 2 个值来解压 for 循环;使用 length_is 得到 3
- angular - spyon() 或 jasmine.createobject 返回可观察数组
- javascript - 如何将文件输入转换为base64 - 反应js
- spring-boot - SpringBoot Rest 的 post 请求和 Get 响应的最大有效负载大小
- scala - 如何模拟scala泛型方法
- app-store - 我可以删除在 iTunesConnect 中被拒绝的应用程序并上传具有不同应用程序名称的相同代码吗?
- c# - Oracle 托管连接引发 'OracleInternal.Common.ProviderConfig 异常的类型初始化程序