据我了解,即使在应用程序结束后,doWork()仍可以运行作业。这是否意味着我不能或不应该调用诸如Repository类成员之类的成员方法?
换句话说,在应用程序结束后,甚至在doWork()中存在该应用程序时,如何安全地更新我的Room数据库。
答案 0 :(得分:0)
创建RxJava仅用于处理此类情况。创建一个单独的rxJava回调,在API调用成功后,只需更新数据库即可。就我而言,我为API调用和API的onSuccess创建了一个单独的类,我只是更新数据库。
Worker只是点击了API并返回了成功调用,因此您不应调用任何其他依赖于较早API调用的异步调用,而应根据API的响应进行处理,最好将RxJava与Retrofit / OkHttp结合使用/凌空一个工人应该完成一项任务。如果您不了解这种架构,我会通过代码帮助您。