我正在构建一个Android应用程序来与我的NR-42蓝牙设备进行通信。我能够连接到蓝牙并将数据发送到PIC18F设备,但我无法从我的设备接收蓝牙数据到我的Android手机。
我正在关注此示例http://solderer.tv/data-transfer-between-android-and-arduino-via-bluetooth/comment-page-1/
当我使用tera-term时,它告诉我蓝牙模块正在做它想做的事情,但我无法在textViews中获取数据。我正在尝试发送浮动数据。我是android的新手,但我认为这个问题正在发生。
h = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case RECIEVE_MESSAGE: // if receive massage
byte[] readBuf = (byte[]) msg.obj;
String strIncom = new String(readBuf, 0, msg.arg1); // create string from bytes array
sb.append(strIncom); // append string
int endOfLineIndex = sb.indexOf("\r\n"); // determine the end-of-line
if (endOfLineIndex > 0) { // if end-of-line,
String sbprint = sb.substring(0, endOfLineIndex); // extract string
sb.delete(0, sb.length()); // and clear
txtArduino.setText("Data from Arduino: " + sbprint); // update TextView
btnOff.setEnabled(true);
btnOn.setEnabled(true);
}
//Log.d(TAG, "...String:"+ sb.toString() + "Byte:" + msg.arg1 + "...");
break;
}
};
};
” 这里正在读取输入流。“
public void run() {
byte[] buffer = new byte[256]; // buffer store for the stream
int bytes; // bytes returned from read()
// Keep listening to the InputStream until an exception occurs
while (true) {
try {
// Read from the InputStream
bytes = mmInStream.read(buffer); // Get number of bytes and message in "buffer"
h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget(); // Send to message queue Handler
Log.d(TAG, "sent handler");
} catch (IOException e) {
break;
}
}
}
有没有人遇到这个问题或者可以帮助我?
由于