【问题标题】:Activity to Activity communication in MVVMMVVM 中的 Activity 到 Activity 通信
【发布时间】:2019-09-17 16:27:26
【问题描述】:

我们一直在使用提到的 here 等附加功能在活动之间共享数据。现在有了 MVVM,数据在 viewmodel 中可用,下一个要启动的 Activity 绑定到另一个 viewmodel。

Activity1 -> ViewModel1

Activity2 -> ViewModel2

我需要在启动 Activity2 时将数据从 ViewModel1 发送到 ViewModel2

在 MVVM 架构中的活动之间共享数据的正确方法是什么?

【问题讨论】:

    标签: android mvvm software-design


    【解决方案1】:

    一种方法是使用 Parcelable 传递数据。 除此之外,在依赖倒置方面,另一种方法是在Activity1Activity2之间共享某种数据结构的同一个实例。

    假设您有一个 User 类,在 SignInActivity 中填充该类,在 ProfileActivity 中从该类获取/更新数据。

    因此,使用 DI 框架(如 Dagger),您可以创建一个具有应用程序生命周期的类:

    class UserStore/Repository/OrWhatEver {
        val user : LiveData<User> 
    
        fun update(user: User) {
          // ...
        }
    }
    

    要获得更多的响应式风格,您可以使用LiveData

    【讨论】:

    • 谢谢!我将继续使用共享数据存储方法:)
    猜你喜欢
    • 1970-01-01
    • 2019-05-09
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 2021-07-18
    相关资源
    最近更新 更多