您也许可以使用客户端/服务器套接字.我尚未在Android上尝试此操作,但我认为只要您可以访问互联网,它就可以使用.
Matlab client-server和Java client-server应该兼容,因为您应该能够在Matlab中运行服务器并从android上的Java客户端连接到该服务器.
Matlab服务器可能如下所示:
tcpipServer = tcpip('0.0.0.0',port,'NetworkRole','Server');
fopen(tcpipServer);
imageSize = fread(tcpipServer, 2, 'int32');
image = zeros(imageSize(1), imageSize(2), 3);
for x=1:imageSize(1)
for y=1:imageSize(2)
image(x, y, :) = fread(tcpipServer, 3, 'double');
end
end
%Process image
fwrite(tcpipServer, results, 'double'); %or 'char'
Java客户端可能类似于:
Socket s = new Socket(, port);
out = new PrintWriter(s.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(s.getInputStream()));
out.println(image.getWidth());
out.println(image.getHeight());
for (int x = 1; x < image.getWidth(); x++) {
for (int y = 1; y < image.getHeight(); y++) {
//Write the RGB values. I can't remember how to pull these out of the image.
}
}
String results = in.readLine();
我不太确定数据类型将如何工作.也许除了PrintWriter以外的其他方法会更好,或者您可能必须将所有内容都以char []的形式发送,然后在另一端进行解析.