0

Bluetooth経由で外部デバイスからデータを読み取るアプリを構築しています。デバイスは複数の時間データを送信します。これは、Bluetooth からデータを読み取るために使用されるコードの抜粋です。

while(true)
{
    inputStream.read(bytes);

  // reset of code goes below
}

デバイスがデータを送信しなかった後にこのループを終了する方法。

4

1 に答える 1

0

inputStream の読み取りが完了すると (おそらく、ある時点またはタイムアウトで null が返されます... inputStream の性質がわからないためわかりにくい) break、ループで呼び出します。

この読み物が実際に構成されている内容について詳細を提供すると、ガイダンスを提供しやすくなります。

while(true)一般に、この種の状況で行うのは得策ではありません。そのループからまったく抜け出せない状況に備えているからです。

論理的な観点から、なぜこれをループで行うのですか?

もしかして…のような意味ですか?

while((bytes = inputStream.read(someNumber)) != null){
   //do something with byte slice here
}

または、接続自体が失敗するのではないかと心配していますか? ここで何を達成しようとしているのかについて、より詳細な情報を提供する必要があります。

于 2013-05-23T18:54:55.747 に答える