沈斌
2018-05-15 04926b864b4026d81f95d78f9ecb3f7806960569
debugging
2 files modified
160 ■■■■■ changed files
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java 158 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/utils/DebugUtils.java 2 ●●● patch | view | raw | blame | history
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);
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";