将 USB 串行数据解析为可用变量

Parsing USB Serial Data to Usable Variables

我有一个设置,其中 Android 和 Arduino 设备通过 USB 进行数据通信。我让 Arduino 定期从我的车辆读取数据并将其发送到 Android 设备,例如(这些格式中的任何一种都可行):

XML:

<instance>
    <vin> A13GF12345NFH </vin>
    <speed> 78 </speed>
    <runtime> 1425 </runtime>
    <distance> 23 </distance>
</instance>

JSON:

{
    "vin" : "A13GF12345NFH",
    "speed" : "78",
    "runtime" : "1425",
    "distance" : "23"
}

我以字节数组形式接收数据,然后将其转换为字符串。鉴于我的字符串化 XML(或 JSON)数据是字符串类型的变量 data,我如何获得变量 vinspeedruntimedistance 是否如消息中所述?我将使用最简单的数据格式。

您可以按照 here 所述使用 JSONObject class。

JSONObject jo = new JSONObject(dataString);
String vin = jo.getString("vin");
long runtime = jo.getLong("runtime");