我正在开发一个应用程序,其中我有 12 位字节数组来读取模拟器上按钮的状态。我在套接字上写这些字节数组以获得响应。我想持续监控这个结果,并希望在值发生变化时得到通知。目前我正在使用 Timer 做同样的事情,每 10 秒运行一次,现在我想做的是运行相同的方法来监控响应,但使用 Android 服务。
try {
byte[] data1 = new byte[1024], packet1 =
{
(byte) 0x00,(byte) 0x00,(byte) 0x00,
(byte) 0x00,(byte) 0x00,(byte) 0x06,
(byte) 0x01,(byte) 0x01,(byte) 0x00,
(byte) 0x00,(byte) 0x00,(byte) 0x19
};
o.write(packet1);
i.read(data1, 0, 1024);
byte_to_hex = ConversionMethods.bytesToHex(data1).substring(18, 26);
char[] arr = byte_to_hex.toCharArray();
for (int i = 0; i < arr.length - 1; i += 2)
{
char temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
swapped_result=new String(arr);
result = ConversionMethods.hexStringToNBitBinary(swapped_result, 32);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
this.runOnUiThread(Timer_Tick);
在 Timer_Tick 我设置 ToggleButtonon|off
基于 reslut 这样
char[] c=result.toCharArray();
int count=0;
for (int i=0;i<result.length();i++)
{
count++;
char j=c[i];
if(count==1)
toggleButton=dimmerLight1;
else if(count==2)
toggleButton=fanDimmer2;
else if(count==3)
toggleButton=fanDimmer1;
if(j=='1')
toggleButton.setChecked(true);
else
toggleButton.setChecked(false);
}
我如何使用服务来实现这个?任何想法和建议将不胜感激
谢谢