草庐IT

lifecycle-viewmodel-ktx

全部标签

android - 架构组件 ViewModel 与 savedInstanceState 包

尝试了解使用ViewModel保留Activity或fragment的某些状态并使用savedInstanceState包保存它们的区别。给人的印象是,在配置更改等情况下,当操作系统销毁Activity/fragment时,ViewModel实例会保持Activity状态,这样当操作系统重新创建Activity/fragment时,Activity/fragment可以从仍然有效的ViewModel实例中获取数据。它是否适用于最小化应用程序并重新打开它?做了一些测试,似乎最小化应用程序并重新打开应用程序,操作系统将重新创建Activity/fragment,其中onCreate()中的

Android 生命周期库 : Cannot add the same observer with different lifecycles

我有一个正在使用生命周期库的应用程序,但我收到一个IllegalArgumentException,提示“无法添加具有不同生命周期的相同观察者”我只在我认为安全的onCreate中添加观察者。我的大多数观察者都是通过匿名类添加的,我认为这不是这里的问题,因为观察者永远不会被回收。一种是使用this:privateGpsStategpsState;voidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);getLifecycle().addObserver(gpsState);gpsState.ob

java - 扩展 BaseObservable 的 ViewModel 和 Android ViewModel 类有什么区别?

我目前正在研究MVVM架构模式,但我对扩展BaseObservable的自定义ViewModel类和Android本身提供的另一个ViewModel感到困惑。 最佳答案 您的自定义ViewModel只是您View的数据持有者,因为它绑定(bind)到您的View(并且因为它是一个Observable对象),所以它可以通知View有关数据的更改。但是,它不知道方向更改(View旋转)等配置更改,因此,在这种情况下,程序员应该保存和恢复数据examplehere.另一方面,Android提供的ViewModel知道这些配置更改,因此它的

android - 使用 onSaveInstanceState() 和 ViewModel 保存 Activity 的状态

阅读本文后,我对ViewModels留下了一些疑问:https://developer.android.com/topic/libraries/architecture/saving-states这里说您应该结合使用ViewModel进行配置更改(如屏幕旋转),并在所有其他情况下使用onSaveInstanceState()Activity被销毁,然后重新创建以保存UI状态。我的问题是我们如何知道调用onCreate(Bundle)时恢复状态的方法——我应该使用ViewModel还是应该使用接收到的包作为参数?当配置改变时,onSaveInstanceState()也会被调用,显然on

Android 架构组件 ViewModel 上下文

我正在研究谷歌的架构组件来为我的应用程序实现ViewModel和LiveData,官方文档说:Note:SincetheViewModeloutlivesspecificactivityandfragmentinstantiations,itshouldneverreferenceaView,oranyclassthatmayholdareferencetotheactivitycontext.IftheViewModelneedstheApplicationcontext(forexample,tofindasystemservice),itcanextendtheAndroidVi

android - 如何为父 fragment 和子 fragment 提供相同的 ViewModel 实例

有两个Fragment:ParentFragment和ChildFragment。ChildFragment已添加到ParentFragment的View中。现在使用Dagger2forAndroid有ParentFragmentModule和一个方法:@ProvidesfunprovideViewModel(fragment:ParentFragment,myViewModelFactory:MyViewModelFactory):MyViewModel{returnViewModelProviders.of(fragment,myViewModelFactory).get(MyVi

lifecycle - Android应用程序类方法onCreate被多次调用

我在我的Android应用程序中重载了应用程序类,我正在使用ACRA报告系统。我的应用看起来像(realsourcecodehere):publicclassMyApplicationextendsApplication{@OverridepublicvoidonCreate(){ACRA.init(this);/**Initializemysingletonsetc*...*...*/super.onCreate();}}据我所知,Application对象应该只创建一次,因此onCreate方法应该只调用一次。问题是,在我的崩溃报告(来自ACRA)中,我有这个:java.lang.

android - 如何使用 Android 的架构组件从 ViewModel 完成 Activity ?

我试图弄清楚如何以最佳方式从ViewModel完成Activity。我找到了一种使用LiveData对象并发出“信号”的方法。我怀疑这个解决方案有开销。那么这是正确的解决方案还是我应该使用更准确的方法?举个例子:假设在一个应用程序中有一个ActivityMainActivity和View模型,如下所示:classMainActivity:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)valmodel=ViewModelProvid

c# - MVVM 和 View/ViewModel 层次结构

我正在使用C#和XAML为Windows8制作我的第一个游戏。我仍在学习核心概念和最佳实践,而MVVM一直是一个障碍。我将尝试分两部分提出这个问题。背景我正在制作的游戏是数独。数独有一个包含9x9格子的棋盘。我有三个型号-Game,Board,和Tile.当Game创建后,它会自动创建一个Board,当Board被创建,它创建81(9x9)Tiles.1.有了层级的View,对应的View模型是如何创建的?为了匹配模型的层次结构,我想要一个View层次结构(GameView包含一个BoardView,其中包含81TileViews)。在XAML中,使用用户控件创建这种View层次结构非

Maven启动报错 - No goals have been specified for this build.You must specify a valid lifecycle phase

在对Maven项目进行Build/初始化时 可能会出现下图这种情况:​[ERROR]Nogoalshavebeenspecifiedforthisbuild.Youmustspecifyavalidlifecyclephaseoragoalintheformat:or:[:]:.Availablelifecyclephasesare:pre-clean,clean,post-clean,validate,initialize,generate-sources,process-sources,generate-resources,process-resources,compile,process