草庐IT

lifecycle-viewmodel-ktx

全部标签

Android ViewModel 调用 Activity 方法

我在我的项目中使用androidAAC库和Android数据绑定(bind)库。我有AuthActivity和AuthViewModel扩展了android的ViewModel类。在某些情况下,我需要请求Activity为ViewModel调用一些方法。例如,当用户单击在Activity类中初始化的GoogleAuth或FacebookAuth按钮时(因为要初始化GoogleApiClient,我需要无法传递给ViewModel的Activity上下文,View模型无法存储Activity字段)。在Activity类中实现的所有GoogleApi和FacebookAPI逻辑://goo

android - 我可以将 ViewModel 传递给 RecyclerView Adapter 并观察 LiveData 吗?

我开始实现MVVM,我不知道在我的Adapter中使用ViewModel是好的做法还是反模式.举个例子,考虑一个颜色列表和一个您将更改背景的图像。在这种情况下,我会观察所选颜色并绑定(bind)背景颜色以显示在UI中。但我在两个地方观察colorSelected:在Fragment中为了改变背景颜色在Adapter中显示选择了哪种颜色那么,当我将ViewModel传递并观察到​​Adapter时,我是否正确使用了MVVM? 最佳答案 我现在不确定它是否是一个好的模式,但是有一个问题:通过这种方式,您的适配器与您的ViewModel绑

android - 什么时候在 ViewModel 中处理 RxJava2 Disposable?

我正在使用ViewModel来self应用程序中的Android架构组件。在ViewModel中,我使用RxJava2订阅,我在订阅后保留Disposable对象。以前,当我在Activity中执行此操作时,我习惯于在onDestroy()中处理Disposable-以避免内存泄漏:@OverrideprotectedvoidonDestroy(){disposable.dispose();super.onDestroy();}我应该何时以及如何在ViewModel中处理它?我真的需要这样做吗? 最佳答案 使用onCleared方法

android - 如何让一个Activitly正确的观察Lifecycle事件

目前,我需要执行一些操作,当应用程序启动。申请结束。但不是在Activity娱乐、配置更改期间......因此,到目前为止,以下代码fragment对我来说非常有用。我从CommonWare中学到了这样的技巧-https://commonsware.com/AndroidArch/previews/other-lifecycle-owners和https://proandroiddev.com/react-to-app-foreground-and-background-events-with-processlifecycleowner-96278e5816fa微笔记应用程序.java

Android KTX 或 Anko

我对使用AndroidKTX的优点和缺点有点困惑对比Anko.因为这两个库都试图实现相同的最终目标,而且它们之间的界限变得有点模糊,insomecases,thesamefunctionalityisavailableinbothlibraries.如果您能帮助我阐明每个任务的任务及其用例,我将非常感激。提前致谢! 最佳答案 Anko是JetBrains在开发Kotlin并使其与Android相关时启动的一个项目。我认为它是Kotlin可能性的早期生产就绪展示。Anko以Anko布局而闻名,但在AnkoCommons中也有一些用于A

android - 将 viewModel 观察者放在 dialogFragment 的什么位置?

对于fragment它是advised将liveData观察者放在onActivityCreated方法中。这适用于fragment,但当我将其应用于dialogFragment时,出现以下错误:java.lang.IllegalStateException:Can'taccesstheFragmentView'sLifecycleOwnerwhengetView()isnulli.e.,beforeonCreateView()orafteronDestroyView().从这里question我读到dialogFragment在创建时的生命周期是:onAttachonCreateon

每个实体的 Android MVVM ViewModel 和存储库?

对于Android架构组件和MVVM模式,我有一些疑问。基于网络上的大多数示例,通常有简单的示例。有一个房间的实体@EntitypublicclassUser{...}拥有一个DAO@DaopublicinterfaceUserDao{...}有一个存储库publicclassUserRepository{}View模型publicclassUsersListViewModelextendsAndroidViewModel{....}现在让我们扩展它,在user旁边有user_access和user_actions例如,所以有3个表。问题:我为Room中的每个表创建实体。我应该为每个实

android - ViewModel 能否在 Activity 保存和恢复后继续存在?

如果以下列方式使用,新的ViewModel类的实例可以在配置更改后继续存在:mViewModel=ViewModelProviders.of(this).get(MyViewModel.class);但是,除了配置更改之外,还存在整个应用程序进程被杀死时的保存-恢复场景。ViewModel中的字段值是否会在保存-恢复场景中保留?编辑:基于对这个问题的回答,我写了这篇文章:AndroidViewModelArchitectureComponentisDangerous 最佳答案 根据ViewModelProvider文档(检查get方

android - 无法创建自定义 ViewModel 的实例

我正在使用dagger2库。每当我尝试运行我的项目时,都说无法创建View模型类的实例。我尝试创建实例的主要Activity((MovieApplication)getApplication()).getAppComponent().inject(this);mViewModel=ViewModelProviders.of(this).get(MoviesDataViewModel.class);我的工厂类publicclassViewModelFactoryimplementsViewModelProvider.Factory{privateMoviesDataViewModelmV

android - 我应该如何在 Android 的 viewModel 中获取 Resources(R.string)(MVVM 和数据绑定(bind))

我目前正在为android使用databinding和MVVMarchitecture。在ViewModel中获取字符串资源的最佳方式是什么。我没有使用新的AndroidViewModel组件、eventbus或RxJava我正在经历接口(interface)的方法,其中Activity将负责提供资源。但是最近我发现了一个类似的问题this回答使用应用程序上下文的单个类在哪里提供所有资源。哪种方法更好?或者我可以尝试其他方法吗? 最佳答案 您可以通过实现AndroidViewModel而不是ViewModel来访问上下文。class