伪码的/**启动**/
1)在指定的延迟后,应用程序从蓝牙设备请求数据。
2)应用程序对数据进行保存和分析。
3)如果分析结果异常,则应用程序触发警报并返回到步骤1),延迟时间缩短。
否则,应用程序将像往常一样返回到步骤1)。
伪码的/**末端**/
我目前有一个实现,它使用计时器和TimerTasks来分析.txt文件中的一些数据,在各种延迟之后反复进行分析。在应用程序开发的后面,数据将从蓝牙设备( Android模拟器不支持蓝牙)接收。
我不能让主UI线程忙于处理这些东西--我需要某种形式的异步(多线程)方法(即。( TimerTask)。
即使用户切换到另一个应用程序,我也需要继续这个分析过程。
我需要使用服务/IntentService来确保蓝牙接收和分析过程保持活动吗?
作为一个初学者Android开发人员,我希望有任何关于这个问题的建议。我目前正在努力理解服务和IntentServices。
发布于 2011-05-31 18:55:19
是的,服务正是为此而设计的:异步任务可能需要很长时间才能持续运行,甚至在活动关闭时也需要继续运行。
发布于 2011-05-31 19:15:33
如果您想了解服务和IntentService,我建议您看看这个职位和相关的帖子。它比较了Android中的各种任务执行机制,并对何时使用什么提供了一个粗略的指导。
发布于 2015-07-19 16:03:00
我以前也做过类似的工作,用服务读取蓝牙数据。您可能需要考虑使用无头服务。该服务甚至在您访问其他应用程序时运行,当您返回时也会绑定到您的活动中。
https://stackoverflow.com/questions/6192122
复制相似问题