| | |
| | | private PanelView pv; |
| | | private ImageView iv_his, iv_status, iv_search, iv_bottom_status, iv_dianliang; |
| | | private BluetoothService mBluetoothService; |
| | | private ArrayList<String> realResult = new ArrayList<>(); |
| | | private ArrayList<String> realHourResult = new ArrayList<>(); |
| | | private ArrayList<String> realHisResult = new ArrayList<>(); |
| | | // private ArrayList<String> realResult = new ArrayList<>(); |
| | | // private ArrayList<String> realHourResult = new ArrayList<>(); |
| | | // private ArrayList<String> realHisResult = new ArrayList<>(); |
| | | //上传数据 |
| | | private ArrayList<RecData> submitResult = new ArrayList<>(); |
| | | |
| | | private StringBuilder stringResult = new StringBuilder(); |
| | | |
| | | //临时存储上传数据 |
| | | private ArrayList<RecData> submitTempResult = new ArrayList<>(); |
| | |
| | | }; |
| | | |
| | | private int checkTimeCount = 0; |
| | | |
| | | private void doHandleData(String result) { |
| | | if(StringUtils.isEmpty(result)) { |
| | | return; |
| | | } |
| | | |
| | | //如果包含"时间校准成功确认信号"或重试5次以上则停止继续校准时间操作 |
| | | if(result.startsWith(BLECommon.BLE_REC_TIME) || checkTimeCount > 5) { |
| | | DebugUtils.sendData("data", result); |
| | | |
| | | handler.removeCallbacks(runnable); |
| | | checkTimeCount = 0; |
| | | |
| | | result = result.substring(14); |
| | | doHandleData(result); |
| | | } |
| | | |
| | | if(result.startsWith("3A")) { |
| | | if(result.length() >= 16) { |
| | | DebugUtils.sendData("data", result); |
| | | |
| | | parseHisData(result.substring(0, 16)); |
| | | result = result.substring(16); |
| | | doHandleData(result); |
| | | } else { |
| | | stringResult.append(result); |
| | | } |
| | | } |
| | | |
| | | if(result.startsWith("5A")) { |
| | | if(result.length() >= 40) { |
| | | DebugUtils.sendData("data", result); |
| | | |
| | | parseCurrentData(result.substring(0, 40)); |
| | | result = result.substring(40); |
| | | doHandleData(result); |
| | | } else { |
| | | stringResult.append(result); |
| | | } |
| | | } |
| | | |
| | | if(result.startsWith("7A")) { |
| | | if(result.length() >= 8) { |
| | | DebugUtils.sendData("data", result); |
| | | |
| | | parseHoutData(result.substring(0, 8)); |
| | | mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); |
| | | |
| | | result = result.substring(8); |
| | | doHandleData(result); |
| | | } else { |
| | | stringResult.append(result); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 接收 |
| | |
| | | public void run() { |
| | | Log.d("haijiang123", "收到消息====" + StringUtils.byteArrayToHexStr(characteristic.getValue())); |
| | | String result = StringUtils.byteArrayToHexStr(characteristic.getValue()); |
| | | //实时数据 |
| | | parseCurrentData(result); |
| | | parseHisData(result); |
| | | parseHoutData(result); |
| | | |
| | | if(result.equals(BLECommon.BLE_REC_TIME) || checkTimeCount > 5) { |
| | | handler.removeCallbacks(runnable); |
| | | } |
| | | if (result.startsWith("7A")) { |
| | | mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); |
| | | } |
| | | DebugUtils.sendData("data", result); |
| | | //处理数据叠罗汉 |
| | | stringResult.append(result); |
| | | result = stringResult.toString(); |
| | | |
| | | doHandleData(result); |
| | | |
| | | stringResult = new StringBuilder(); |
| | | |
| | | //实时数据 |
| | | // parseCurrentData(result); |
| | | // parseHisData(result); |
| | | // parseHoutData(result); |
| | | // |
| | | // if (result.startsWith("7A")) { |
| | | // mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null); |
| | | // } |
| | | } |
| | | }); |
| | | } |
| | |
| | | */ |
| | | private int preLevel = -1; |
| | | |
| | | private void parseCurrentData(String result) { |
| | | if (result.startsWith("5A")) { |
| | | realResult.clear(); |
| | | realResult.add(result); |
| | | } else { |
| | | realResult.add(result); |
| | | } |
| | | String nowResult = ""; |
| | | for (String s : realResult) { |
| | | nowResult += s; |
| | | } |
| | | private void parseCurrentData(String nowResult) { |
| | | // if (result.startsWith("5A")) { |
| | | // realResult.clear(); |
| | | // realResult.add(result); |
| | | // } else { |
| | | // realResult.add(result); |
| | | // } |
| | | // String nowResult = ""; |
| | | // for (String s : realResult) { |
| | | // nowResult += s; |
| | | // } |
| | | /** |
| | | * 20个字节,5A开头 5B结尾 |
| | | */ |
| | |
| | | play(2); |
| | | } |
| | | submitResult.add(data); |
| | | realResult.clear(); |
| | | // realResult.clear(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | private AlertDialog testDialog; |
| | | |
| | | private void parseHoutData(String result) { |
| | | if (result.startsWith("7A")) { |
| | | realHourResult.clear(); |
| | | realHourResult.add(result); |
| | | } else { |
| | | realHourResult.add(result); |
| | | } |
| | | String nowResult = ""; |
| | | for (String s : realHourResult) { |
| | | nowResult += s; |
| | | } |
| | | private void parseHoutData(String nowResult) { |
| | | // if (result.startsWith("7A")) { |
| | | // realHourResult.clear(); |
| | | // realHourResult.add(result); |
| | | // } else { |
| | | // realHourResult.add(result); |
| | | // } |
| | | // String nowResult = ""; |
| | | // for (String s : realHourResult) { |
| | | // nowResult += s; |
| | | // } |
| | | if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 8 && nowResult.startsWith("7A") && nowResult.endsWith("7B")) { |
| | | |
| | | if(DebugUtils.debug_mode) { |
| | |
| | | /** |
| | | * 孕妇哨连接后上传的数据 |
| | | */ |
| | | private void parseHisData(String result) { |
| | | if (result.startsWith("3A")) { |
| | | realHisResult.clear(); |
| | | realHisResult.add(result); |
| | | } else { |
| | | realHisResult.add(result); |
| | | } |
| | | String nowResult = ""; |
| | | for (String s : realHisResult) { |
| | | nowResult += s; |
| | | } |
| | | private void parseHisData(String nowResult) { |
| | | // if (result.startsWith("3A")) { |
| | | // realHisResult.clear(); |
| | | // realHisResult.add(result); |
| | | // } else { |
| | | // realHisResult.add(result); |
| | | // } |
| | | // String nowResult = ""; |
| | | // for (String s : realHisResult) { |
| | | // nowResult += s; |
| | | // } |
| | | if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 16 && nowResult.startsWith("3A") && nowResult.endsWith("3B")) { |
| | | Log.d("hourdata", "=====nowResult=====" + nowResult); |
| | | |