標(biāo)題: Android藍(lán)牙通信字節(jié)數(shù)組的數(shù)據(jù)類型轉(zhuǎn)換求教! [打印本頁]

作者: dsj0430    時(shí)間: 2018-4-20 15:39
標(biāo)題: Android藍(lán)牙通信字節(jié)數(shù)組的數(shù)據(jù)類型轉(zhuǎn)換求教!
課程設(shè)計(jì)單片機(jī)和安卓手機(jī)進(jìn)行藍(lán)牙通信,發(fā)送電壓數(shù)據(jù)到手機(jī),恰好每次8位數(shù)據(jù)(1字節(jié))傳給上位機(jī)。采用以下代碼獲得16進(jìn)制字符輸出,以下是藍(lán)牙通信接收并顯示數(shù)據(jù)部分代碼
  1.   case Constants.MESSAGE_READ:
  2. // construct a string from the valid bytes in the buffer
  3. byte[] readBuf = (byte[]) msg.obj;
  4. String readMessage = new String(readBuf, 0, msg.arg1);
  5. mConversationArrayAdapter.add(mConnectedDeviceName + ":  " + readMessage);
  6.         break;
復(fù)制代碼
我想將字節(jié)數(shù)組數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制,做進(jìn)一步計(jì)算,計(jì)算結(jié)果以十進(jìn)制打印輸出。代碼如下:



  1. case Constants.MESSAGE_READ:
  2.                     if (!msg.obj.equals(null)) {
  3.                         byte[] readBuf = (byte[]) msg.obj;
  4.                         for (int i = 0; i < readBuf.length; i++) {
  5.                             int[] a = new int[readBuf.length];
  6.                             a[i] = readBuf[i] * 5000 / 255;
  7.                             mConversationArrayAdapter.add(mConnectedDeviceName + ":  ");
  8.                         System.out.print(a[i]);
  9.                         }
  10.                     }
  11. break;
復(fù)制代碼




上面的第二段代碼編譯無錯(cuò)誤,但在手機(jī)上執(zhí)行后只顯示mConnectedDeviceName 和":  ",a輸出為空白!
調(diào)試顯示以下error:com.example.android.bluetoothchat E/dalvikvm: Could not find class 'android.support.v4.app.ActivityCompat$SharedElementCallback23Impl',
第一次接觸JAVA編程,還請多多指教!





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1