Java Android-显示可编辑的数据
我试图通过BLE接收一个4字节的特征值,将数据解析为4个不同的变量,然后使用textView显示它们 我有一个应用程序可以连接到我的设备(使用BluetoothLeGatt示例代码),但现在我只能获取特征数据,解析并显示它 我尝试获取第一个值(温度)数据[0],并将其转换为类似BluetoothLeGatt示例中的字符串 在BluetoothLeService.java中,我完成了以下工作:Java Android-显示可编辑的数据,java,android,bluetooth-lowenergy,Java,Android,Bluetooth Lowenergy,我试图通过BLE接收一个4字节的特征值,将数据解析为4个不同的变量,然后使用textView显示它们 我有一个应用程序可以连接到我的设备(使用BluetoothLeGatt示例代码),但现在我只能获取特征数据,解析并显示它 我尝试获取第一个值(温度)数据[0],并将其转换为类似BluetoothLeGatt示例中的字符串 在BluetoothLeService.java中,我完成了以下工作: public final static String EXTRA_TEMP = "com
public final static String EXTRA_TEMP =
"com.example.bluetooth.le.EXTRA_TEMP";
...
final byte[] data = characteristic.getValue();
if (data != null && data.length > 0) {
final StringBuilder stringBuilder = new StringBuilder(data[0]);
for(byte byteChar : data)
stringBuilder.append(String.format("%02X ", byteChar));
intent.putExtra(EXTRA_TEMP, new String(data) + "\n" + stringBuilder.toString());
}
在DeviceControlActivity.java中,我在顶部添加了以下内容:
private TextView mTemp;
在BroadcastReceiver函数中,我添加了以下用于显示温度的内容:
else if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)) {
displayTemp(intent.getStringExtra(BluetoothLeService.EXTRA_TEMP)); }
在OnCreate函数中,我添加了以下内容:
public final static String EXTRA_TEMP =
"com.example.bluetooth.le.EXTRA_TEMP";
...
final byte[] data = characteristic.getValue();
if (data != null && data.length > 0) {
final StringBuilder stringBuilder = new StringBuilder(data[0]);
for(byte byteChar : data)
stringBuilder.append(String.format("%02X ", byteChar));
intent.putExtra(EXTRA_TEMP, new String(data) + "\n" + stringBuilder.toString());
}
mTemp=(TextView)findViewById(R.id.temperature)代码>
最后,我在底部添加了这个函数:
private void displayTemp(String data) {
if (data != null) {
mTemp.setText(data);
}
}
我确信我的布局文件是正确的,但我看不到在我的温度
id占位符处显示的任何值
有什么建议吗?我的目标是,一旦这个变量起作用,就为所有4个变量复制上面的内容
谢谢大家! 你在这方面有什么进展吗?你在这方面有什么进展吗?