我能够在我的安卓手机和电脑之间发送字符串,但是我想要从电脑向手机发送图片并显示出来。在我的情况下,电脑是服务器,手机是客户端。
这是我服务器端的代码的一部分:
socket = serverSocket.accept();
dataOutputStream = new DataOutputStream(socket.getOutputStream());
captureScreen("C:\\Users\\HP\\Desktop\\capture.png");
File f = new File("C:\\Users\\HP\\Desktop\\capture.png");
byte [] buffer = new byte[(int)f.length()];
dataOutputStream.write(buffer,0,buffer.length);
dataOutputStream.flush();
请注意,
captureScreen()
是一种成功地从服务器上截取屏幕并将其保存为 .PNG 图像的方法。现在,在客户端即Android手机上,如果我有一个
ImageView
控件,如何将从计算机发送的图像作为InputStream
读取并显示在ImageView
上?此外,我是否成功地将图像写入
dataOutputStream
?如果有人能帮助我,我会很高兴!
null
,则表示输入有误。我建议使用本地的png
文件(例如启动器图标)进行尝试,应该可以正常工作。 - gaborschjpg
与png
)或(2)网络传输方面。您可以尝试使用jpg图像进行相同的操作以检查(1)。如果它可以工作,那么请尝试将整个图像加载到byte[]
中,然后调用BitmapFactory.decodeByteArray()
函数。 - gaborschpng
文件打开一个FileInputStream
,然后将其传递给BitmapFactory.decodeStream(inputStream)
。 - gaborsch