Android 如何从一个字节中提取一个位并将其显示在文本视图上?
How to extract a bit from a byte and display it on a textview, in Android?
我正在从蓝牙设备接收字符串数据。我将其存储在 String names
我需要从它的第八位提取一个字节,然后我需要从该字节中提取所有位。
我怎样才能做到这一点?
现在,我只能收到字符串。并且我能够提取前 2 个子字符串。
我当前的代码是:
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
if (BleUuid.READ_TIME
.equalsIgnoreCase(characteristic.getUuid().toString())) {
final String names = characteristic.getStringValue(0);
runOnUiThread(new Runnable() {
public void run() {
statuslv.setText("Status Received..");
setProgressBarIndeterminateVisibility(false);
if ( !names.isEmpty() && names.substring(0,1).equals("a")){
line1.setText("got it");
}
else{
line1.setText("Nil");
}
if ( !names.isEmpty() && names.substring(1,2).equals("a")){
line2.setText("got it again");
}
else{
line2.setText("Nil again");
}
}
});
如果要提取字符串的字节,请使用 String.getBytes( charsetName )
。
请post相关代码。
我正在从蓝牙设备接收字符串数据。我将其存储在 String names
我需要从它的第八位提取一个字节,然后我需要从该字节中提取所有位。
我怎样才能做到这一点?
现在,我只能收到字符串。并且我能够提取前 2 个子字符串。
我当前的代码是:
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
if (BleUuid.READ_TIME
.equalsIgnoreCase(characteristic.getUuid().toString())) {
final String names = characteristic.getStringValue(0);
runOnUiThread(new Runnable() {
public void run() {
statuslv.setText("Status Received..");
setProgressBarIndeterminateVisibility(false);
if ( !names.isEmpty() && names.substring(0,1).equals("a")){
line1.setText("got it");
}
else{
line1.setText("Nil");
}
if ( !names.isEmpty() && names.substring(1,2).equals("a")){
line2.setText("got it again");
}
else{
line2.setText("Nil again");
}
}
});
如果要提取字符串的字节,请使用 String.getBytes( charsetName )
。
请post相关代码。