作者:lrg冰天雪地789_444 | 来源:互联网 | 2022-12-22 19:25
我试图在我的android项目中遵循MVVM设计模式,但是我遇到了一些问题:
1.我不知道在哪里放置点击监听器,将其放入ViewModel或视图中,如果操作要传输到另一个活动/ fragment或做一些逻辑而不重定向到另一个视图
2.我知道共享首选项将被放入模型中,但只为所有共享首选项创建一个单独的类或将其放入模型类示例中:在登录时,我想保存用户名和密码我在UserModel中创建我的共享首选项函数还是创建一个新类并将其命名为SharedPreference?
提前致谢.
1> Harrison Tiu..:
将点击侦听器放在您的活动/片段中而不是视图模型中,因为侦听器仍然是视图的一部分.
不应在视图模型本身内部调用共享首选项方法,而是使视图模型调用成为将信息保存到共享首选项中的类.在这种情况下,我建议使用存储库模式.然后,您的视图模型将从您的存储库中调用方法x(),然后方法x()将通过共享首选项,本地数据库或可能通过云来保存信息.
如果将单击处理程序放置在视图模型中,并且活动被杀死,则视图模型将保持死听器状态,这将导致内存泄漏。