Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android架构组件_Android_Android Architecture Components_Android Event_Android Mvvm - Fatal编程技术网

Android架构组件

Android架构组件,android,android-architecture-components,android-event,android-mvvm,Android,Android Architecture Components,Android Event,Android Mvvm,我正在为我的应用程序使用MVVM android体系结构 我想实现点击事件,那么,我们需要使用数据绑定体系结构组件,还是只需要使用活动来处理点击事件和验证用户输入 实现这一点的最佳方法是什么?问题在于是否使用数据绑定。以下是数据绑定的一些优点和缺点: 优点: 使代码超级干净 使代码更短 易于测试 缺点: 有时很难调试 它有点重,增加了编译时间 但是。。。既然Google已经宣布它是Android架构组件的一部分,我相信你应该使用它 实现这一点的最佳方式是什么 我不知道您对数据绑定有多熟悉,但您应

我正在为我的应用程序使用MVVM android体系结构

我想实现点击事件,那么,我们需要使用数据绑定体系结构组件,还是只需要使用活动来处理点击事件和验证用户输入


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

问题在于是否使用
数据绑定。以下是数据绑定的一些优点和缺点:

优点:

  • 使代码超级干净
  • 使代码更短
  • 易于测试
  • 缺点:

  • 有时很难调试
  • 它有点重,增加了编译时间
  • 但是。。。既然
    Google
    已经宣布它是Android架构组件的一部分,我相信你应该使用它

    实现这一点的最佳方式是什么

    我不知道您对
    数据绑定有多熟悉,但您应该知道一些,在
    onClick
    中,您将不需要它。只需在XML文件中添加
    android:onClick
    属性。您还可以找到以下代码实验室来正确实现它:

    例如:

    首先,确保在
    build.gradle

    android {
    ...
        dataBinding {
           enabled true
        }
    }
    
    之后,转到布局,您将使用数据绑定(为此,请确保它是一个活动/片段),只需在

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

    你还没做完。您需要以某种方式将您的逻辑连接到该数据绑定,因此请转到活动/片段的Java/Kotlin代码,然后:

    setContentView(R.layout.some\u活动)
    替换为
    val绑定:SomeActivityBinding=
    DataBindingUtil.setContentView(这个,R.layout.some_活动)

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


    这是最基本的。祝你好运

    我很高兴我帮了忙。