android-livedata相关内容

为什么我的活动没有看到观察到的物体变化?

我是Android开发的新手,我正在尝试了解MVVM架构的实时数据. 我试图使主要活动在属于该活动的视图模型的对象中发生更改时得以识别. 我创建了一个简单的登录活动,该活动从用户名和密码字段获取文本,并将其传递给视图模型的登录功能,然后该功能将数据发送到用户存储库,然后向Spring发出POST请求-在我的PC上运行的服务器. 如果用户名和密码正确,则存储库登录函数将返回具有已登录用户名的M ..
发布时间:2020-05-14 02:43:37 移动开发

什么是生命周期观察器以及如何正确使用它?

我已经阅读了有关Android中新的体系结构组件的信息.因此,我想问什么是生命周期观察者,为什么我们需要它们?在什么情况下有用? 谢谢您的回答! 解决方案 您可以使用ProcessLifecycleOwner获取应用程序的LifeCycle并添加一个类作为这些事件的观察者.您可以在应用程序类中实现LifecycleObserver: public class MyApplicatio ..
发布时间:2020-05-14 02:37:27 Java开发

Android体系结构组件:如何通过ViewModel观察存储库中的LiveData

我正在研究 Android体系结构组件,我我有点困惑.在样本中,他们使用存储库并声明在其中变化的状态仓库的数据源由ViewModels观察.我不明白如何将数据源中的更改推送到ViewModels,因为我看不到ViewModels中将它们订阅到存储库的任何代码.类似地,这些片段观察ViewModel的LiveData,但它们实际上订阅了LiveData: // Observe product ..

尽管未更改数据,但某些片段观察器从后台堆栈弹出后触发

我在Kotlin的嵌套片段中遇到了一些问题.我已经用ViewModel嵌套了片段.从后退按钮恢复片段后,尽管我的数据没有更改,但再次按下viewModel LiveData上的所有观察者触发器. 首先我用谷歌搜索并尝试在字段变量中定义观察者,并检查它是否已初始化,然后不再观察它: lateinit var观察者:观察者 fun method(){ if (::obser ..

是否可以在XML中观察LiveData对象?

当我将ObservableField对象绑定到XML视图中时,通过set()对值的更改会立即反映在视图中.但是,当我在XML中绑定LiveData对象时,将呈现初始值,但通过value=进行的更改不会对视图产生影响.他们被传递给科特林观察者. 我假设LiveData可以像XML绑定中的Observable*类一样工作.不是吗?如果我需要同时观察XML和Kotlin中的值,是否真的需要 ..
发布时间:2020-04-26 13:00:16 Java开发

Android:如何根据viewmodel实时数据属性编写片段的单元测试?

我的片段UI中有一个listview,其元素集取决于来自viewmodel LiveData属性的值的状态. 我想为包含与该属性的值集相关的3个场景测试用例的片段创建工具测试,而我不从哪里开始. 我的代码应如下所示: class MyViewModel : ViewModel() { var status = MutableLiveData("") } class MyFra ..

未观察到多次调用以设置LiveData

我最近看到了一个奇怪的问题,它正在阻碍我的项目. 多次调用以设置实时数据值不会调用视图中的观察者. 似乎只有最后设置的值才实际调用视图中的Observer. 这是评论的代码段. MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var viewModel: Mai ..
发布时间:2020-04-26 12:38:39 移动开发

弹出片段后的多个LiveData观察者

问题 摘要:导航到新的片段,弹出新的片段,然后返回到原始片段. 详细信息:该体系结构由 MainActivity 组成,在MainActivity的导航图. HomeFragment中有一个以编程方式夸大的 PriceGraphFragment . HomeFragment 正在使用导航组件启动新的子片段 ProfileFragment .背面按一下,将弹出ProfileFragmen ..

为什么此Android Room插件不起作用?

我实现了具有空间的缓存,但是由于某种原因,它变坏了,要么不插入,要么不获取数据,尽管我已经进行了很多调试,但是仍然没有任何线索...有人可以帮忙吗? ?因此,图片如下: MainActivity: mArticleViewModel = ViewModelProviders.of(this).get(ArticleViewModel.class); mArticleViewModel. ..
发布时间:2020-04-26 12:27:17 移动开发