安卓架构组件

3

我正在使用MVVM Android架构来开发我的应用程序。

我想实现点击事件,所以我们需要使用数据绑定架构组件还是只需使用活动来处理点击事件并验证用户输入?

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

1个回答

3

问题是使用Databinding还是不使用。以下是Databinding的一些优缺点:

优点:

  1. 使代码变得非常简洁。
  2. 使代码更短。
  3. 易于测试。

缺点:

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

但是...由于Google已经将其作为Android Architecture组件的一部分发布,因此我认为您应该使用它。

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

我不知道您对Databinding的熟悉程度,但您应该了解Binding Adapters的一些内容,并且在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及其名称。在将使用点击函数的视图中添加我上面说的内容。(android:onClick="@{() -> viewmodel.onLike()}")

你还没有完成。您需要以某种方式将逻辑连接到该数据绑定,因此转到您的Activity/Fragment的Java/Kotlin代码:

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

请注意,SomeActivityBinding将由IDE自己提供,因为它根据xml命名在Databinding库中进行处理。

那就是最基本的了。祝你好运。


我很高兴能够帮助。 - coroutineDispatcher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接