我想從服務發送浮動值到我的用戶界面(小精度 - 兩位數只有像1204,74)。現在我想把這個float作爲字符串,因爲我只想顯示它,但後來我會用這個float作爲數字。使用處理程序發送浮動值
服務
...
int A = Integer.parseInt(listBytesAnsw.get(2), 16);
int B = Integer.parseInt(listBytesAnsw.get(3), 16);
float rpm = (A*255+B)/4;
msgBuffer = ByteBuffer.allocate(4).putFloat(rpm).array();
mHandler.obtainMessage(Constants.RPM, msgBuffer.length,-1, msgBuffer).sendToTarget();
addToQueue("01 0C");
...
UI
switch (msg.what) {
...
case Constants.RPM:
byte[] readRpmBuf = (byte[]) msg.obj;
String rpm = new String (readRpmBuf,0,msg.arg1);
mConversationArrayAdapter.add(mConnectedDeviceName + ": " + rpm);
break;
...
我沒有得到從浮動的服務,但只有隨機的跡象。有什麼不對,但我不知道是什麼。我很少使用字節數組,所以我不太瞭解它。
ByteBuffer!= String – njzk2