gpt4 book ai didi

安卓架构组件

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:37 25 4
gpt4 key购买 nike

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

我想实现点击事件,那么,我们是否需要使用数据绑定(bind)架构组件,或者我们可以只使用 Activity 来处理点击事件并验证用户输入?

实现它的最佳方法是什么?

最佳答案

好吧,问题在于是否使用 Databinding。以下是 Databinding 的一些优点和缺点:

优点:

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

缺点:

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

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

What's the best way to implement this?

我不知道您对Databinding 有多熟悉,但您应该对Binding Adapters 有所了解。 , 在 onClick 中你将不需要它。只需在 XML 文件中添加 android:onClick 属性。您还可以找到此 Codelab 以正确实现它:

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

示例:

首先确保您在 build.gradle

中启用了 Databinding
android {
...
dataBinding {
enabled true
}
}

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

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

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

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

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

这是最基本的。祝你好运。

关于安卓架构组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56526225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com