我正在构建一个通过蓝牙从外部设备读取数据的应用程序。设备发送多个时间数据,这里是用于从蓝牙读取数据的代码片段。
while(true)
{
inputStream.read(bytes);
// reset of code goes below
}
如何在设备不发送数据后终止此循环。
答案 0 :(得分:0)
当你的inputStream完成读取时(可能它会在某个时刻返回null或超时......很难知道,因为我们不知道你的inputStream的性质是什么)你将在你的循环上调用break
如果您提供有关此读取实际包含内容的更多详细信息,则可以更轻松地为您提供指导。
一般来说,在这种情况下执行while(true)
并不是一个好主意,因为你正在为自己不会退出的情况做好准备循环。
从逻辑的角度来看,你为什么要在循环中这样做呢?
你可能意思是......while((bytes = inputStream.read(someNumber)) != null){
//do something with byte slice here
}
或者您是否担心连接本身可能会失败?您需要提供有关您在此尝试实现的更多详细信息。