我正在设计一个Android应用程序,该程序可以连续收集惯性数据(来自加速度计和陀螺仪)用于实验,然后将其打包成块并发送到云中。
据我所知,我已经建立了一个活动的原型,该活动可以监听传感器并用读数填充缓冲区。当缓冲区已满时,将产生一个线程,在该线程中,我打开一个新文件,并从缓冲区中写入字节。有时候我必须设计上传模块,当我有N个文件时,我会将它们上传到云中。
它似乎可以这种方式工作,但是我有一个问题:
对于这种应用程序是否有更好的设计模式,也许有背景技术?
我知道有很多类可以处理工作,例如JobSchedulers,后台和前台服务(根据android docs后台服务目前有很多限制,我想我不能使用它们)或jetpack WorkManager,但是如果需要,我很难找到合适的。
答案 0 :(得分:1)
从Android 9开始,似乎唯一可在后台跟踪Sensor事件的真实选项是使用Foreground Services ...
饼图文档
传感器文档: