问题标签 [android-mvvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2188 浏览

android - Android bindingadapter不更新值

我正在尝试在 Picasso 的帮助下使用绑定适配器在“imageView”中设置图像 URL。

我的 XML 图像视图:

我的视图模型:

现在在启动“setProfilePicture”时调用并设置默认图像。然后我进行 API 调用以在 API 成功时获取图像的 URL 我将值设置为“imageUrl”

它不会在视图中更新。意味着“setProfilePicture”不再被调用。

0 投票
1 回答
700 浏览

android - jetpack 中的视图模型与 MVVM 架构中的视图模型相同吗?

我是 MVVM 架构的菜鸟,我喜欢在这个架构中开发我未来的项目。如果我在我的项目中添加并实现 Android Jetpack Viewmodel 类并正确使用它们,它会出现在 MVVM 架构中吗?或者 MVVM 的视图模型有什么不同。?

0 投票
1 回答
453 浏览

android - MVVM 中视图之间的通信

我是 Android 架构组件/MVVM 的新手,想知道实现视图之间通信的最佳方式是什么。

假设我有 A_View、A_View_Model、B_View 和 B_View_Model 类。当用户与 A_View 交互时,我需要更新 B_View(例如显示新图像)。A_View 是否可以引用 B_View_Model 并调用会触发 LiveData 导致 B_View 更新的方法?概括一下这个问题,一个 View 可以访问其他 ViewModel 与其他 View 通信吗?

Google 的片段通信示例使用“通用”视图模型进行通信。这是必要的吗?我不能只使用 View 自己的 ViewModel 吗?

另外,如果您想更新多个视图,您将如何处理。您是否创建了一个引用多个 ViewModel 的 Controller/Presenter 并相应地调用它们?

0 投票
1 回答
84 浏览

android - 将运行时添加的视图与 MVVM 中的数据绑定

添加运行时视图,以便我可以在 MVVM 中添加该视图数​​据。

这是代码

R.layout.dynamic_from_to是需要在运行时添加到数据的视图。

0 投票
1 回答
142 浏览

android - 如何在存储库中初始化 okHttp 的 MockServer()?

Server.kt(是一个将返回用户列表的模拟服务器) https://github.com/shalbert94/androidinterview/blob/master/server/src/main/java/com/jobrapp/server/Server.kt

出于某种原因, val server = Server()在我的存储库中调用(https://github.com/shalbert94/androidinterview/blob/master/app/src/main/java/com/jobrapp/androidinterview/MockServerRepository.kt)抛出: Unable to start activity ComponentInfo{com.jobrapp.androidinterview/com.jobrapp.androidinterview.MainActivity}: android.os.NetworkOnMainThreadException

该问题似乎源于调用在'块中调用MockWebServer()的 'start()方法。如何在不触发 NetworkOnMainThreadException 的情况下在我的存储库中进行初始化?ServerinitServer

0 投票
0 回答
399 浏览

android - 在 Android 中使用 MVVM 模式时,我必须使用数据绑定吗?

我在 Android 中有一个关于架构的问题。

在 Android 中使用 MVVM 模式时,我必须使用数据绑定吗?

0 投票
1 回答
510 浏览

android - android - 在 ViewModel 类中使用新线程

我在我的 android 应用程序中使用数据 mvvm 架构,并使用数据绑定填充 xml 项。AsyncTask在我用于从数据库获取数据的视图模型类中,这给我带来了一些麻烦。首先调用 UI 线程,并且我的 xml 项保持为空。我必须做什么?

0 投票
1 回答
1902 浏览

android - Android LiveData 在导航回来后观察到过时的数据

问题:

向后导航时,如何防止我的 livedata 立即接收陈旧数据?我正在使用此处Event概述的课程,我认为可以防止这种情况发生。

问题:

我打开带有登录片段的应用程序,并在设置实时数据电子邮件/密码时导航到注册片段(并且后端调用说“这是一个新帐户注册”)。如果用户在注册过程中点击后退按钮,Android 将弹回登录。当在后按后重新创建登录片段时,它会立即使用过时的后端响应再次触发实时数据,我想防止这种情况发生。

登录片段.kt

登录视图模型.kt

0 投票
1 回答
122 浏览

android - 我怎样才能同步订阅一个可观察的,这样我就不会错过该可观察的排放?

我有一个具有 MVVM 架构的 android 应用程序。

视图层(一个片段)订阅了一个由 ViewModel 在onStart(). 在我调用subscribe()了那个 observable 之后,我直接调用了 ViewModel 来启动事情。通过这种直接调用,会发生两件事。首先,订阅的 observable 会发出一个事件来表示应用程序处于加载状态。接下来,ViewModel 获取一些数据,然后发出该数据。

问题是,我没有收到第一次发射。但是,如果我将调用移到生命周期链的更远位置,例如在onCreate()(并将我的调用保留在 中onStart()),我确实会收到发射。显然,调用subscribe()是异步的,我怎样才能确保我可以在开始发射之前订阅一个可观察对象?

这是未接收到第一次发射的情况。

现在,如果我只是向上移动订阅,就会收到发射。但是,我不想希望事情能及时完成,我想确定这一点,这就是为什么我希望能够保证在直接调用loadMovies(). 这是同样的事情,订阅向上移动,并且接收到发射。

0 投票
2 回答
54 浏览

java - 合并和过滤来自独立来源的结果(RX_observables)

大家好,大家好!

我有两个独立的 api(lastFM 和 iTune)源。代码分别为 ich 工作,我可以搜索(过滤)我想要的艺术家。现在我想组合结果,使用这种 RXJava 方法并在 RecyclerView 中显示它们。

我正在阅读Observable.zip或简单合并(顺序并不重要),但我在这个问题上停留了太久,我不知道如何开始..我应该为组合创建下一个模型,例如:

还是没有必要?我卡在这里,我不能动..所以请帮忙!

我目前的工作(情况):

我的视图模型:

最后,我的 iTunes 模型

LastFM 模型