项目至今快一年了,来个小小的总结。
首先,大体的,公司项目的每一个模块都会有三层,MVC结构。
其中:
M主要是OperationHub类,负责具体的操作实现。
V主要是视图,Activity Adapter Fragment是一部分。
Controller则是Item和Listener,这主要负责对各个模块之间的调用协调进行。
以我负责的Encrypt为例子:
于是Activity Fragment Adapter负责定义显示的图像。而Item则负责调用Model中的OperationHub,OperationHub通过Fragment调用API然后对数据和业务处理,并返回Fragment让Fragment及时刷新数据。这样各个组件都能相互协调工作,不会出现很多问题,而且不会内存泄露。
如何加载数据:
关键在于加载数据时用的是新的线程,所以涉及多线程读取,因此不能使用全局变量,否则会有各种数据不同步。因此应当在线程内部生成一个新的变量,赋值到msg.obj中,然后发送EmptyMessage来发送信息让UI改变线程,由于是非UI线程,如果要提示GridView,ListView等控件更新,需要使用runOnUiThread的方法解决这个问题。
项目的MVC方法总结
最新推荐文章于 2021-12-02 09:03:23 发布