安卓---DataBinding的使用(一)

本文详细介绍DataBinding框架在Android上的应用,包括其基本概念、启用步骤及初步实践,旨在简化代码,提升开发效率。

DataBinding的使用(一)


1.DataBinding的简介
2.使用前的准备工作
3.开始初步学习

DataBinding简介

DataBinding是谷歌官方发布的一个实现数据绑定的框架,同时也是因为有了它可以在Android上实现MVVM框架,增强了xml文件的功能,大幅度的简化了代码量。

  • xml中只做简单的运算,例如:赋值,判空等,不做复杂的运算

准备工作

(1)启用DataBinding

  • 在app文件夹下的build.gradle中添加
android {
    ...
    buildFeatures {
        dataBinding true
    }
}

(2)布局文件
找到相应的布局文件后,改为如下模式:
在这里插入图片描述

在Android Studio中可以使用快捷键实现:
Windows请按快捷键 Alt + 回车
Mac请按快捷键 option + 回车

Duplicate class androidx.databinding.Bindable found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.BindingAdapter found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.BindingBuildInfo found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.BindingConversion found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.BindingMethod found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.BindingMethods found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.CallbackRegistry found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.CallbackRegistry$NotifierCallback found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.InverseBindingAdapter found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.InverseBindingListener found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.InverseBindingMethod found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.InverseBindingMethods found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.InverseMethod found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.Observable found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.Observable$OnPropertyChangedCallback found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.ObservableList found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.ObservableList$OnListChangedCallback found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.ObservableMap found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.ObservableMap$OnMapChangedCallback found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class androidx.databinding.Untaggable found in modules baseLibrary-3.2.0-alpha11.jar -> jetified-baseLibrary-3.2.0-alpha11 (androidx.databinding:baseLibrary:3.2.0-alpha11) and databinding-common-8.8.0.jar -> databinding-common-8.8.0 (androidx.databinding:databinding-common:8.8.0) Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules guava-23.0.jar -> jetified-guava-23.0 (com.google.guava:guava:23.0) and listenablefuture-1.0.jar -> jetified-listenablefuture-1.0 (com.google.guava:listenablefuture:1.0) Learn how to fix dependency resolution errors at https://d.android.com/r/tools/classpath-sync-errors
最新发布
10-30
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值