如何在多个 Textview 中显示来自 BLE 设备的数据?
How to show data from a BLE device in multiple Textviews?
我有一个湿度传感器,它在固定的时间间隔后将最后十个值作为一个数组广播。我想在十 Textview
中显示这些值。
我当前的代码在单个 TextView
中显示所有值,我该如何修改它?
怎么可能?
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
if (BleUuid.READ_SENSOR
.equalsIgnoreCase(characteristic.getUuid().toString())) {
final String values = characteristic.getStringValue(0);
byte[] bytes =values.getBytes();
final String value = new String(bytes);
runOnUiThread(new Runnable() {
public void run() {
statuslv.setText(value);
setProgressBarIndeterminateVisibility(false);
}
});
拆分您收到的字符串。
根据格式,您应该可以使用类似这样的东西
String[] parts = string.split(","); //this should use the character(s) which separate your results
如果你真的想在 10 个不同的 TextView 中显示结果,那么你可以这样做
textView1.setText(parts[0]);
textView2.setText(parts[1]);
//...
您也可以将结果放在 ListView 中。
我有一个湿度传感器,它在固定的时间间隔后将最后十个值作为一个数组广播。我想在十 Textview
中显示这些值。
我当前的代码在单个 TextView
中显示所有值,我该如何修改它?
怎么可能?
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
if (BleUuid.READ_SENSOR
.equalsIgnoreCase(characteristic.getUuid().toString())) {
final String values = characteristic.getStringValue(0);
byte[] bytes =values.getBytes();
final String value = new String(bytes);
runOnUiThread(new Runnable() {
public void run() {
statuslv.setText(value);
setProgressBarIndeterminateVisibility(false);
}
});
拆分您收到的字符串。
根据格式,您应该可以使用类似这样的东西
String[] parts = string.split(","); //this should use the character(s) which separate your results
如果你真的想在 10 个不同的 TextView 中显示结果,那么你可以这样做
textView1.setText(parts[0]);
textView2.setText(parts[1]);
//...
您也可以将结果放在 ListView 中。