Java 在行业阅读
我正在尝试通过蓝牙通信将整数发送到Android设备。我的问题是如何从inpustream读取字符数组 这是我的服务器代码Java的一部分:Java 在行业阅读,java,android,io,bluetooth,Java,Android,Io,Bluetooth,我正在尝试通过蓝牙通信将整数发送到Android设备。我的问题是如何从inpustream读取字符数组 这是我的服务器代码Java的一部分: try { outStream = connection.openOutputStream(); int numbers = (int) (Math.random() * 10); outStream.write(numbers); System.out.println(numbers); } catch (IOExc
try {
outStream = connection.openOutputStream();
int numbers = (int) (Math.random() * 10);
outStream.write(numbers);
System.out.println(numbers);
} catch (IOException e) {
e.printStackTrace();
}
目标是读取服务器发送的整数。我还尝试使用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,我知道它只发送单个charchter,所以我的问题是如何将charchter数组发送到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;
}
}
}
这确实是DataOutpustream,我使用writeInt()方法,在服务器上我改为readInt();我认为可以使用OutputStream发送整数,使用InputStream接收。这个
扩展流。写入(数字)
写入一个字节,而不是整数。用DataOutputStream
和DataInputStream
来包装两端。我在服务器端做了如下更改:outtream=connection.openDataOutputStream();整数=(int)(Math.random()*10);流出。写(数字)
但在Android上,当我更改DataInput时,我会得到一个选项来使用类似data=in.readInt()的方法代码>但如何在其中添加缓冲区?