0

我正在构建一个通过蓝牙从外部设备读取数据的应用程序。设备发送多个时间数据,这里是用于从蓝牙读取数据的代码片段。

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 回答