我想开发一个满足以下规范的Android应用程序:
愿景:我想准实时地分析一组用户的传感器测量值,而不需要他们的干预(除了启动应用程序)。
经过一些研究,我可以设法单独执行这些任务并且效率低下。我已经尝试了类,例如Service和IntentService,SensorEventListener等。我不知道是否应该为每项任务使用Thread,Service或IntentService。具体来说,我有严重的沟通问题。
我的问题:
我要求最佳实践结构来解决我的问题。在开发/编写解决方案方面,您无需详细了解。
非常感谢,随时可以询问是否有不清楚的事情。
大卫
更新:
经过一些研究并感谢DROIDcoder,我设法为我的应用设计骨架:
由于这只是一个命题,我将其添加为版本。当整个系统工作时,我会发布一个详细的答案。
问题仍然存在:您能否考虑为应用程序设计更好的设计?
再次感谢!
答案 0 :(得分:0)
这是我的建议
将此原始数据上传到远程服务器
您可以使用JSON解析进行服务器通信。您将使用AsynTask(后台线程)进行后台数据上传
对于用户来说,所有过程都应该是不明显的,并且在屏幕熄灭几个小时后继续工作。
您应该使用服务进行后台长期处理
答案 1 :(得分:0)
最后我做了什么:
问题1:长时间从背景传感器记录数据。 使用服务类解决了初始化传感器并侦听回调的问题。
问题2:将包含UI的Activity类与Service类进行通信。 使用Activity类中的 startService (Intent myMessage)方法与Service类中 onStartCommand ()方法中的开关进行解决,以对消息进行分类。
问题3:使用Activity类传递Service类。 解决了在活动中注册自定义 BroadcastReceiver 并从服务发送意图的问题。我在文件上传期间(在服务中)用它来更新进度条(在Activity中)。可以找到一个特殊的教程here。
问题4:将数据上传到远程服务器。 使用<{3}}网站中的 AsyncTask 解决方案。