826220679@qq.com
18 小时以前 1bda9524add969e315d870f284046ecf1097f956
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package dell55AAData;
public class XTB {
    // ½âÎö½á¹û´æ´¢
    private String header;         // °üÍ·
    private String deviceId;       // É豸±àºÅ
    private String battery;        // µçÁ¿
    private String version;        // °æ±¾ºÅ
    private String ccid;           // CCID
    private String button;         // °´¼ü
    private String rtcmSource;     // RTCMÔ´
    
    // ÓÃÓÚ¸ßЧ½âÎöµÄÁÙʱ±äÁ¿
    private int startIndex;
    private int endIndex;
    private String data;
    
    public void parse(String data) {
        this.data = data;
        int fieldCount = 0;
        startIndex = 0;
        endIndex = 0;
        
        // ¿ìËÙ±éÀú×Ö·û´®½âÎö×Ö¶Î
        for (int i = 0; i < data.length(); i++) {
            if (data.charAt(i) == ',' || i == data.length() - 1) {
                endIndex = (i == data.length() - 1) ? i + 1 : i;
                assignField(fieldCount, startIndex, endIndex);
                fieldCount++;
                startIndex = i + 1;
                
                // Èç¹ûÒѾ­½âÎöÁËËùÓÐ7¸ö×ֶΣ¬ÌáǰÍ˳ö
                if (fieldCount >= 7) break;
            }
        }
    }
    
    private void assignField(int fieldIndex, int start, int end) {
        switch (fieldIndex) {
            case 0: header = data.substring(start, end); break;
            case 1: deviceId = data.substring(start, end); break;
            case 2: battery = data.substring(start, end); break;
            case 3: version = data.substring(start, end); break;
            case 4: ccid = data.substring(start, end); break;
            case 5: button = data.substring(start, end); break;
            case 6: 
                // ¶ÔÓÚ×îºóÒ»¸ö×ֶΣ¬ÐèҪȷ±£»ñÈ¡µ½×Ö·û´®Ä©Î²
                rtcmSource = data.substring(start);
                break;
        }
    }
    
    // ===== ½á¹û»ñÈ¡·½·¨ =====
    public String getHeader() { return header; }
    public String getDeviceId() { return deviceId; }
    public String getBattery() { return battery; }
    public String getVersion() { return version; }
    public String getCcid() { return ccid; }
    public String getButton() { return button; }
    public String getRtcmSource() { return rtcmSource; }
}