0

我正在尝试通过蓝牙通信将整数发送到 Android 设备。我的问题是如何从输入流中读取字符数组?

这是我的服务器代码 Java 的一部分:

try {
    outStream = connection.openOutputStream();  
    int numbers = (int) (Math.random() * 10);
    outStream.write(numbers);
    System.out.println(numbers);

} catch (IOException e) {
    e.printStackTrace();
}

目标是让 Android 读取服务器发送的整数。我也尝试使用 PrintWriter 方法发送数据(随机数),如下所示:

outStream = connection.openOutputStream();
pWriter = new PrintWriter(new OutputStreamWriter(outStream));

int numbers = (int) (Math.random() * 10);
pWriter.write(numbers);
System.out.println(numbers);
pWriter.flush();
pWriter.close();

如果使用此方法 print.write,我知道它只发送单个字符,所以我的问题是如何将字符数组发送到 Android?

这是我的 Android 代码的一部分:

public void run() {
    int data = in.read(buffer);

    while (true) {
        try {
            byte[] buffer = new byte[1024];
            int data;

            data = in.read(buffer);
            data = in.read(buffer, 0, buffer.length);

        } catch (IOException ex) {
            Log.e(TAG_IOThread, "disconnected", ex);
            break;
        }
    }  
}
4

1 回答 1

0

确实是 DataOutpustream,我使用 writeInt() 方法,在服务器上我更改为 readInt(); 我认为使用 OutputStream 发送整数和 InputStream 接收它是可能的。

于 2012-07-29T17:06:49.897 回答