草庐IT

初识viewBinding,ViewModel,liveData,dataBinding

全部标签

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

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

初识数据结构:链表实现图书信息管理系统(C语言,仅供参考)

目录1.创建表结构2.创建表3.打印链表4.查找功能的实现 5.插入功能的实现6.删除功能的实现 7.修改功能的实现   8.计数功能的实现  9.排序功能的实现 10.封装图书信息管理系统1.创建表结构创建书籍信息结构体和每个结点的结构体structBook{ charid[20];//ISBN charname[50];//书名 intprice;//定价};//创建书籍信息结构体typedefstructLNode{ structBookdata;//书籍信息结构体 structLNode*next;//指向下一元素指针}LNode,*LinkList;2.创建表前插法创建单链表,建立n

如果快速调用,android LiveData Observable 不会返回数据

开发一款需要一次性向同一个端点发送多个API调用的应用。例如-目录浏览场景,需要通过为当前文件夹中的所有文件夹发送get调用来获取目录结构。问题是,正确改造中的所有文件夹的响应分别出现,但LiveDataobservable只给我整个列表的一个响应。目录结构:-test->temp->temp1->temp2->temp3->temp4Observable监听回调:-mViewModel.getServerFilesLiveData().observe(this,browseServerDataResource->{if(browseServerDataResource!=null){

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

Android dataBinding - 如何使用 bool 资源来触发布局的可见性

我目前在android中有一个bool.xml文件,如下所示:true现在我有一个使用数据绑定(bind)的layout.xml文件。我想根据上面定义的boolshowAds显示或隐藏adView的可见性。到目前为止我有这个:但它不编译。我怎样才能得到bool值来决定广告是否应该展示?语法错误。 最佳答案 更正条件View.Visible:View:gone的语法android:visibility="@{@bool/showAds?View.VISIBLE:View.GONE}"并且需要在数据部分导入View:

android - 在 android 中使用数据绑定(bind)错误 : package *. *.databinding 不存在

我正在尝试在Android应用程序中实现数据绑定(bind)。This是我要设置它的链接。即使在完成所有必要的实现之后,我在gradle-build中仍收到以下错误:error:packagecom.example.satpracticeapp.databindingdoesnotexist.(这个包是我在我的MainActivity.java文件中导入的)我试过this(数据绑定(bind)编译器),但它不起作用。问题是我已经成功地尝试了一个使用数据绑定(bind)的hello-world应用程序并且它可以工作。但是,当我尝试在几周前制作的应用程序中实现它时,出现了上面提到的错误。为

android - 测试 LiveData 转换?

我使用Android架构组件和响应式方法构建了启动画面。我从PreferencesLiveData对象返回funisFirstLaunchLD():SharedPreferencesLiveData.我有将LiveData传递给View并更新首选项的ViewModelvalisFirstLaunch=Transformations.map(preferences.isFirstLaunchLD()){isFirstLaunch->if(isFirstLaunch){preferences.isFirstLaunch=false}isFirstLaunch}在我的Fragment中,我从

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

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