2017-07-29 146 views
1

在我的Android应用程序中,我使用Room API来保存来自网络的数据。该应用程序分成几个进程,其中一个负责同步数据(实现SyncAdapter)。用户界面运行在不同的进程上,用它自己的DAO访问数据库。 我的问题是LiveData I查询UI进程时,SyncAdapter将新数据写入数据库时​​没有得到任何更新。因为数据库是在进程间共享的,所以我期望OnChanged在LiveData反映数据库的所有进程上调用,这意味着所有进程都可以观察到数据库变化在多个进程中获取LiveData更新

+0

我不知道你为什么期待这种行为。除此之外,堆栈溢出是编程问题 - 你的问题是什么? – CommonsWare

+0

问题:我如何更新我为所有观察者观察的数据? – ArikYa

回答

0

您需要实现自己的IPC机制才能通过过程之间的事件。这与直接使用SQLite或使用大多数其他观察者框架(例如数据绑定观察值)并无太大区别。或者,切换到只有一个进程,在这种情况下,您现有的实现可能工作得很好。