android-viewmodel相关内容

我可以在我的视图模型中做一个livedata观察者吗?还是我应该始终观察片段/活动?

我是MVVM的新手.因此我有2个来自我的片段/活动到服务器的请求,第一个请求的结果将用作第二个请求的输入参数. 首先,在我的片段中,单击一个按钮,然后我请求检查用户是否被禁止,如果没有,则该用户可以创建一个帖子. 所以首先我要检查用户是否被禁止使用此代码. class CreateEventFragment : Fragment() { lateinit var mod ..

Android分页库-我应该使用哪个数据源

我想要的内容:我只想通过网络电话实现 Android Paging Library . 我的理解:因此,DataSource具有三个可以扩展的类. PageKeyedDataSource::如果您的Web服务的url中有pageNumber,则可以使用它. ItemKeyedDataSource::在获取嵌套数据时,可以使用它.例如,获得对特定评论的回复. PositionalDa ..

如何使一个ViewModel类将多个数据类型返回给活动或片段

我正在阅读此博客文章将Android带有Firebase实时数据库的体系结构组件(第2部分),我正在实现最后一个代码片段及其工作方式. private final FirebaseQueryLiveData liveData = new FirebaseQueryLiveData(HOT_STOCK_REF); private final MediatorLiveData ..

从ViewModel访问strings.xml

我正在使用Dagger 2 DataBindng和具有ViewModels的新Android Lifecycle组件. 在我的ViewModel内部,我如何访问我的strings.xml?起初我在想将Context注入到viewModel中,但是,这只会泄漏内存. 还有其他方法吗? 解决方案 有一个来自文档: 可识别应用程序上下文的 ViewModel . 子类必须 ..

ViewModel是否可以在Activity中保存和恢复?

如果以以下方式使用,新的ViewModel类的实例可以在配置更改后继续存在: mViewModel = ViewModelProviders.of(this).get(MyViewModel.class); 但是,除了配置更改外,在终止整个应用程序的进程时,还存在保存-还原方案. 在保存-还原方案期间,是否会保留ViewModel中字段的值? 编辑:基于此问题的答案,我写了这 ..

屏幕旋转时重新创建了Android ViewModel

我发现没有保留架构组件ViewModel的情况-简而言之如下: 启动活动并创建ViewModel实例 活动被置于后台 设备屏幕旋转 活动放回前台 调用ViewModel的onCleared方法并创建新对象 在这种情况下,我的ViewModel实例被销毁是否是Android的正常行为?如果是这样,是否有建议的解决方案来保持其状态? 我可以想到的一种方法是在调用onClear ..

从ViewModel观察LiveData

我有一个单独的类,负责处理数据提取(特别是Firebase),通常从中返回LiveData对象并异步更新它们.现在,我想将返回的数据存储在ViewModel中,但是问题是,为了获取所述值,我需要观察从数据获取类返回的LiveData对象.观察方法要求将LifecycleOwner对象作为第一个参数,但是我显然不在ViewModel中拥有该对象,并且我知道我不应该在ViewModel中保留对Acti ..

屏幕旋转后,Android Arch组件ViewModel和LiveData触发

在使用ViewModel和LiveData时遇到问题我是使用ViewModel和LiveData拱形组件的新手,在使用fragments并旋转观察者被触发的屏幕时出现问题... 我试图移动 viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java) 在所有片段生命周期方法中都没有成功. 我的情况很简单: ..

如何在Android应用程序中共享LiveData的实例?

简单用例 我正在使用 MVVM 体系结构和 Android体系结构组件在我的应用中. 用户登录后,我正在获取多个网络数据,并希望能够从不同的我不想在我的应用中使用房间持久性库 我已经看到一些有关在活动之间共享 ViewModel 或使用我想分享一个解决方案,但是如果有更好的解决方案或对此有疑问,请发表您的想法. 解决方案 该想法是使用 Singleton 存储库,该存储库 ..

手动清除Android ViewModel吗?

编辑:这个问题有点过时了,因为Google使我们能够将ViewModel的范围限制到导航图.更好的方法(而不是尝试清除活动范围的模型)是为适当数量的屏幕创建特定的导航图,并为这些屏幕确定范围. 参考android.arch.lifecycle.ViewModel类. ViewModel的范围是与其相关的UI组件的生命周期,因此在基于Fragment的应用程序中,这将是片段的生命周期.这 ..