java - 使用蓝牙从 Android App 读取数据
问题描述
我有 Java 代码可以通过蓝牙在 Android 应用程序中接收数据,就像附加的代码一样
所以 readMessage 将等于 ={\"Pin\":\"A4\",\"Value\":\"20\"},{\"Pin\":\"A5\",\"Value\":\"925\"},{\"Pin\":\"A0\",\"Value\":\"30\"}
所以我只想\"Value\"
从接收到的数据中获取字符串之后的值,所以
谁能建议如何做到这一点?谢谢
解决方案
readMessage
你可以用JSON格式解析
例子:
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);
}
推荐阅读
- java - Java Hamcrest Matcher 检查列表是否包含另一个列表
- c# - 对象不会在正确的位置生成
- javascript - ngx-spinner 不适应页面变大
- oauth-2.0 - 使用 Cognito 进行 OAuth 身份验证
- javascript - 在 jquery 中立即检查空字段
- scala - 如何使用 foreachPartition 在 Spark 中为每个分区高效地构建一个 ML 模型?
- r - ResolvePackageNotFound: m2w64_c_win-64 同时构建 R 包 r-ffbase
- java - Logback-classic 包 Slf4jTest (lidalia) 和 Springboot 之间的冲突
- r - 对数据集的子集进行操作
- ruby-on-rails - 在窗户上安装导轨时出现问题?