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; }
|
}
|