シミュレーターのボタンの状態を読み取るための12桁のバイト配列を持つアプリケーションを開発しています。応答を得るために、これらのバイト配列をソケットに書き込んでいます。この結果を継続的に監視し、値が変更されたときに通知を受け取りたいです。現在、タイマーを使用して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で私はon|off
このようなreslutに基づいてToggleButtonを設定しています
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);
}
サービスを使用してこれを実装するにはどうすればよいですか?任意のアイデアやアドバイスをいただければ幸いです
ありがとう