繁体   English   中英

Android架构组件

[英]Android Architecture Components

我在我的应用程序中使用MVVM android架构。

我想实现click事件,那么,我们是否需要使用数据绑定体系结构组件,或者我们可以使用activity来处理click事件并验证用户输入?

实现这个的最佳方法是什么?

那么问题就是使用Databinding 以下是Databinding一些优缺点:

优点:

  1. 使代码超级干净。
  2. 使代码更短。
  3. 易于测试。

缺点:

  1. 有时它很难调试。
  2. 它有点沉重,增加了编译时间。

但是......因为Google已经将它作为Android架构组件的一部分宣布,我相信你应该使用它。

实现这个的最佳方法是什么?

我不知道你对Databinding有多熟悉,但是你应该对绑定适配器有所了解,在onClick你不需要它。 只需在XML文件中添加android:onClick属性即可。 您也可以找到这个Codelab来正确实现它:

https://codelabs.developers.google.com/codelabs/android-databinding/#0

例:

首先确保在build.gradle启用了Databinding

android {
...
    dataBinding {
       enabled true
    }
}

之后转到布局,您将使用数据绑定(为此确保它将是一个Activity / Fragment),只需在IDE中键入ALT + TAB, 然后再...

之后,定义类型,例如ViewModel及其名称。 并且在视图中将使用click功能添加我上面所说的内容。 android:onClick="@{() -> viewmodel.onLike()}"

你还没结束。 您将以某种方式将逻辑连接到该数据绑定,因此请转到您的Activity / Fragment的Java / Kotlin代码并:

val binding : SomeActivityBinding = DataBindingUtil.setContentView(this, R.layout.some_activity)替换setContentView(R.layout.some_activity) val binding : SomeActivityBinding = DataBindingUtil.setContentView(this, R.layout.some_activity)

请注意, SomeActivityBinding将由IDE本身提供,因为根据xml命名在Databinding库上处理。

那是最基本的。 祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM