» 首頁 » 討論區 » Android程式設計 »Android 藍芽接收顯示資料封包

Android 藍芽接收顯示資料封包

發表人: 還要看一下
積分: 12
發表時間: 2013-06-16 19:06:59
這是我參考網路上做的範例檔(壓縮下載)
http://www.javaworld.com.tw/jute/post/view?bid=29&id=314008&sty=1


好心的網友給我建議:

case MESSAGE_READ:
byte[] readBuf = (byte[]) msg.obj;
mEmulatorView.write(readBuf, msg.arg1);
break;

無法抓出你要的數值
你要的應該是 readBuf[3] HR 的質對吧
然後 把那個質 轉成 16進制 就是你要的結果了
如果真的是如此

相信這段function能幫到你
所有通訊的核心 在於資料間的轉換

public String ByteArraryToHexString(byte[] ByteArray) {
char[] HexArray = {'0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F'};
char[] HexChars = new char[ByteArray.length * 2];
int value;
for ( int j = 0; j < ByteArray.length; j++ ) {
value = ByteArray[j] & 0xFF;
HexChars[j * 2] = HexArray[value >>> 4];
HexChars[j * 2 + 1] = HexArray[value & 0x0F];
}
return new String(HexChars);
}


我想請問下面public的程式碼應該要貼在哪才能夠正常運作?