循环时终止蓝牙读取

时间:2013-05-23 18:50:18

标签: android

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

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

  // reset of code goes below
}

如何在设备不发送数据后终止此循环。

1 个答案:

答案 0 :(得分:0)

当你的inputStream完成读取时(可能它会在某个时刻返回null或超时......很难知道,因为我们不知道你的inputStream的性质是什么)你将在你的循环上调用break

如果您提供有关此读取实际包含内容的更多详细信息,则可以更轻松地为您提供指导。

一般来说,在这种情况下执行while(true)并不是一个好主意,因为你正在为自己不会退出的情况做好准备循环。

从逻辑的角度来看,你为什么要在循环中这样做呢?

你可能意思是......

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

或者您是否担心连接本身可能会失败?您需要提供有关您在此尝试实现的更多详细信息。