使用蓝牙从 Android 应用读取数据
Reading data from Android App using bluetooth
我有 Java 代码可以通过蓝牙在 Android 应用程序中接收数据,就像附加的代码一样
Java Code
所以 readMessage 将等于 = {\"Pin\":\"A4\",\"Value\":\"20\"},{\"Pin\":\"A5\",\"Value\":\"925\"},{\"Pin\":\"A0\",\"Value\":\"30\"}
所以我只想从接收到的数据中获取字符串 \"Value\"
之后的值,所以
任何人都可以建议如何做到这一点?
谢谢
你可以用JSON格式解析readMessage
示例:
String[] pinValueArr = readMessage.split(",")
for (String pinValue : pinValueArr) {
try {
JSONObject pinValueJSON = new JSONObject(pinValue);
String pin = pinValueJSON.optString("pin", ""); // opt means if parse failed, return default value what is ""
int pin = pinValueJSON.optInt("Value", 0); // opt means if parse failed, return default value what is "0"
} catch (JSONParsedException e) {
// catch exception when parse to JSONObject failed
}
}
如果你想管理它们,你可以做一个List
然后全部添加。
List<JSONObject> pinValueList = new ArrayList<JSONObject>();
for (String pinValue : pinValueArr) {
JSONObject pinValueJSON = new JSONObject(pinValue);
// ..
pinValueList.add(pinValueJSON);
}
您可以使用 Gson 将 Json 转换为 Object。
(https://github.com/google/gson)
- 创建模型Class
data class PinItem(
@SerializedName("Pin")
val pin: String? = null,
@SerializedName("Value")
val value: String? = null
)
- 转换你的 json.
val json = "[{"Pin":"A4","Value":"20"},{"Pin":"A5","Value":"925"},{"Pin":"A0","Value":"30"}]"
val result = Gson().fromJson(this, object : TypeToken<List<PinItem>>() {}.type)
- 现在您有了列表
PinItem
,您可以从中获取所有信息。
我有 Java 代码可以通过蓝牙在 Android 应用程序中接收数据,就像附加的代码一样
Java Code
所以 readMessage 将等于 = {\"Pin\":\"A4\",\"Value\":\"20\"},{\"Pin\":\"A5\",\"Value\":\"925\"},{\"Pin\":\"A0\",\"Value\":\"30\"}
所以我只想从接收到的数据中获取字符串 \"Value\"
之后的值,所以
任何人都可以建议如何做到这一点? 谢谢
你可以用JSON格式解析readMessage
示例:
String[] pinValueArr = readMessage.split(",")
for (String pinValue : pinValueArr) {
try {
JSONObject pinValueJSON = new JSONObject(pinValue);
String pin = pinValueJSON.optString("pin", ""); // opt means if parse failed, return default value what is ""
int pin = pinValueJSON.optInt("Value", 0); // opt means if parse failed, return default value what is "0"
} catch (JSONParsedException e) {
// catch exception when parse to JSONObject failed
}
}
如果你想管理它们,你可以做一个List
然后全部添加。
List<JSONObject> pinValueList = new ArrayList<JSONObject>();
for (String pinValue : pinValueArr) {
JSONObject pinValueJSON = new JSONObject(pinValue);
// ..
pinValueList.add(pinValueJSON);
}
您可以使用 Gson 将 Json 转换为 Object。 (https://github.com/google/gson)
- 创建模型Class
data class PinItem(
@SerializedName("Pin")
val pin: String? = null,
@SerializedName("Value")
val value: String? = null
)
- 转换你的 json.
val json = "[{"Pin":"A4","Value":"20"},{"Pin":"A5","Value":"925"},{"Pin":"A0","Value":"30"}]"
val result = Gson().fromJson(this, object : TypeToken<List<PinItem>>() {}.type)
- 现在您有了列表
PinItem
,您可以从中获取所有信息。