java - 在Android应用程序中分解字符串

标签 java android bluetooth

我正在尝试用 Java 为 Android 手机编写 Android 应用程序。 Android 应用程序使用 SPP 配置文件通过蓝牙读取串行数据字符串。这些字符串是由另一个蓝牙设备发送的。这些字符串采用以下格式:

"Acc Data:x_adc,y_adc,z_adc!"

每个字符串开头:

"Acc Data:

并以

结尾

"!"

x_adc、y_adc 和 z_adc 是值,长度为 5 位。

这些字符串定期发送。现在我可以使用 InputStream 使用字符串缓冲区接受这些字符串。我还可以在可滚动的 TextView 中显示完整的字符串,该 TextView 将每个字符串显示在另一个字符串的下面。

我想要做的是从字符串中分解 x_adc、y_adc 和 z_adc 值,并将这些值显示在 3 个单独的 TextView 中。在将新字符串发送到 Android 智能手机后,需要显示 adc 值的 TextView 必须刷新。我尝试使用 Pattern 类和 split() 来分解字符串,但未能理解它们并在应用程序中使用它们。

有人可以帮我解决这个问题吗?

最佳答案

您可以使用substring()清理多余的数据,然后使用split():

String[] values = indata.substring(9, 26).split(",");
String x_adc = values[0];
...

关于java - 在Android应用程序中分解字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16892903/

相关文章:

swift - 在使用 swift 展开可选值蓝牙时意外发现 nil

java - 你如何在 Netbeans 中清除你的 midlet 的 RecordStore?

java - 如何存储iv、salt和密文?

java - 在复制构造函数中复制监听器/观察器

java - 滚动面板不只在图像上显示拇指

android - 是否可以控制单选按钮标 checkout 现在最右边?

android - xml android中的Z顺序

java - 在 Android 和 iPhone 中使用 AES-128 加密(不同的结果)

android - 发现后如何在android上获取蓝牙RSSI

c++ - Microsoft Windows API Serial ReadFile 产生意外输出