/ **开始伪代码** /
1)在指定的延迟后,应用程序从蓝牙设备请求数据。
2)应用程序保存并分析数据。
3)如果分析结果异常,应用程序将发出警报并返回步骤1),延迟时间缩短。
ELSE应用程序正常返回步骤1)。
/ **伪代码结束** /
我目前有一个实现工作,利用Timer和TimerTasks在各种延迟后重复分析.txt文件中的一些数据。稍后在应用程序的开发中,将从蓝牙设备接收数据(Android模拟器不支持蓝牙)。
我不能让主UI线程忙于处理这些东西 - 我需要某种形式的异步(多线程)方法(即TimerTask)。
即使用户切换到另一个应用程序,我也需要继续此分析过程。
我是否需要使用Service / IntentService来确保此蓝牙接收&分析程序仍然有效吗?
作为初学者Android开发者,我将不胜感激任何有关此主题的建议。我目前正在尝试了解Services和IntentServices。
答案 0 :(得分:2)
如果您正在尝试了解Service和IntentService,我建议您查看this post及相关帖子。它比较了Android中的各种任务执行机制,并提供了何时使用什么的粗略指导。
答案 1 :(得分:1)
是的,服务的设计正是如此:异步任务可能需要很长时间,即使活动关闭也需要继续运行。
答案 2 :(得分:0)
我过去曾使用服务阅读蓝牙数据完成了类似的任务。您可能需要考虑使用无头服务。即使您转到其他应用程序,当您回来时,该服务也会与您的活动绑定。