代码之家  ›  专栏  ›  技术社区  ›  Soon Santos

我可以使用ViewModel向服务器发送数据吗?

  •  2
  • Soon Santos  · 技术社区  · 6 年前

    ViewModel 在我的应用程序中加载节目列表。然后,我在主屏幕上显示它。由于ViewModel具有此功能,因此它能够经受配置更改的影响,并且不会引发内存泄漏。

    我需要什么

    这个改装2调用应该生存的配置变化,如旋转屏幕,它不能造成内存泄漏。

    我试过的

    1. 在MainActivity中使用enqueue()方法调用reformation。 组织分解结构: 这种方法不好,因为它在ui类中放置了很多东西,它会引发内存泄漏。

    2. 使用静态内部类。 组织分解结构:

    3. MVP似乎可以登录用户。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Basil    6 年前

    https://github.com/googlesamples/android-architecture/blob/todo-mvvm-databinding/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/addedittask/AddEditTaskViewModel.java

    通常,您会在模型视图中触发网络操作,而实现网络逻辑的代码是在另一个类中编写的( ApiManager 例如),然后在ViewModel中获取结果

    • LoginViewModel 将具有某个网络管理器类的对象

    • 单击login时,viewmodel将调用 networkManager.performLogin()

    • 然后将结果传递给viewmodel(RxJava在这里很方便)。