模块之间进行通信的最佳实践

时间:2015-05-12 10:54:00

标签: android multithreading interface module callback

从软件工程师的角度来看,代码应该分成模块。我在一个项目中也是如此。有经典的三个模块Model-View-Controller(作为众所周知的模式)。在控制器中是一些需要很长时间的操作(例如模型的同步)和一些非常短的操作(例如更改本地模型)。

通过一个界面向视图发布结果/更改的最佳方式是什么?

根据我的理解,与服务器同步的长动作应该在单独的线程即服务中运行。但是使用类似的Thread来操作本地模型会浪费我眼中的资源 - 因为这将是(在这种情况下将来也是)快速操作。

1 个答案:

答案 0 :(得分:0)

Android有Loaders / CursorAdapter - 在保持独立的UI和数据加载方面非常有效。

您可以拥有一个将同步数据并更新数据库的线程(Volley netowrking lib) - 然后DB(ContentProvider)将通知任何“观察”游标更新UI。

Lookup Loaders / Cursor Adapter和Volley。