首页 > 解决方案 > 如何使用 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();
    }

}

标签: javaandroidimagesocketsbyte

解决方案


使用任何图像视图库来预览图像。希望它会工作


推荐阅读