From 04926b864b4026d81f95d78f9ecb3f7806960569 Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Tue, 15 May 2018 16:39:09 +0800 Subject: [PATCH] debugging --- app/src/main/java/com/moral/yunfushao/utils/DebugUtils.java | 2 app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 158 ++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 111 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java index 24d4a23..6b69338 100644 --- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java +++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java @@ -83,11 +83,13 @@ 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<>(); @@ -105,6 +107,61 @@ }; 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); + } + } + } /** * ������ @@ -162,18 +219,23 @@ 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); +// } } }); } @@ -565,17 +627,17 @@ */ 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������ */ @@ -647,7 +709,7 @@ play(2); } submitResult.add(data); - realResult.clear(); +// realResult.clear(); } } @@ -658,17 +720,17 @@ */ 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) { @@ -698,17 +760,17 @@ /** * ��������������������������������� */ - 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); diff --git a/app/src/main/java/com/moral/yunfushao/utils/DebugUtils.java b/app/src/main/java/com/moral/yunfushao/utils/DebugUtils.java index e89f2be..4dd88f5 100644 --- a/app/src/main/java/com/moral/yunfushao/utils/DebugUtils.java +++ b/app/src/main/java/com/moral/yunfushao/utils/DebugUtils.java @@ -8,7 +8,7 @@ public class DebugUtils { - public static boolean debug_mode = false; + public static boolean debug_mode = false; //���������������������debug_mode���false private static String debug_url = "http://47.96.171.62:3100/send_yfs"; -- Gitblit v1.8.0