我正在使用此代码。服务器和Android应用程序。
https://github.com/luugiathuy/Remote-Bluetooth-Android
我可以发送int命令,但我想发送字符串以获取更多信息
我在存储库中创建了该问题,但我想要所有帮助
在服务器中我有这个
@Override
public void run() {
try {
// prepare to receive data
InputStream inputStream = mConnection.openInputStream();
System.out.println("waiting for input");
while (true) {
int command = inputStream.read();
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, Charsets.UTF_8);
String theString = writer.toString();
System.out.println(theString);
if (command == EXIT_CMD)
{
System.out.println("finish process");
break;
}
processCommand(command);
}
} catch (Exception e) {
e.printStackTrace();
}
}
有了这个回复...
BlueCove version 2.1.1-SNAPSHOT on winsock
04c6093b00001000800000805f9b34fb
waiting for connection...
waiting for connection...
waiting for input
23456789?
finish process
但是在Android中我发送带有此代码的“123456789”
public void write(String out) {
// Create temporary object
ConnectedThread r;
// Synchronize a copy of the ConnectedThread
synchronized (this) {
if (mState != STATE_CONNECTED) return;
r = mConnectedThread;
}
// Perform the write unsynchronized
r.write(out.getBytes());
}
答案 0 :(得分:0)
很少编辑......
我评论这一行
int command = inputStream.read();
我得到了这段代码的“完整”字符串
BufferedReader bReader=new BufferedReader(new InputStreamReader(inputStream));
String line = "";
while ((line = bReader.readLine()) != null)
{
System.out.println(line);
}
123456789的ÿ强>
我可以消除最后一个字符,但不是最好的......
在我的Android应用程序中,我有这个
mCommandService.write(editText.getText().toString().trim());
editText.getText().clear();
mCommandService.stop();
如果我删除最后一行,ÿ消失。所以我猜这是停止命令。我可以删除它还是原生的?