数据绑定是 Android 开发中提升代码可读性和维护性的核心特性,通过将 UI 组件与数据源直接关联,减少冗余的 findViewById 操作。以下是快速入门指南:

📚 基本概念

  • 数据绑定框架:基于 DataBinding 库,支持双向数据绑定(如 @Bindable 注解)
  • 绑定表达式:使用 {} 包裹数据源,例如 text={viewModel.userName}
  • ViewModel 层:通过 ViewModel 管理 UI 相关数据,与 LiveData 配合使用

🛠️ 实现步骤

  1. build.gradle 启用数据绑定
    android {
        ...
        dataBinding {
            enabled = true
        }
    }
    
  2. 创建绑定变量类
    public class UserViewModel extends BaseObservable {
        private String name;
        @Bindable
        public String getName() { return name; }
        public void setName(String name) { this.name = name; notifyPropertyChanged(BR.name); }
    }
    
  3. 在布局文件中使用绑定表达式
    <layout>
        <data>
            <variable
                name="userViewModel"
                type="com.example.UserViewModel" />
        </data>
        <TextView
            android:text="@{userViewModel.name}" />
    </layout>
    

📌 常见用法

  • 动态更新:当 ViewModel 数据变化时,UI 自动刷新
  • 复杂绑定:支持 @{expression} 绑定方法调用
  • 双向绑定:通过 @={} 实现输入框与数据的同步

📁 相关资源

Android_Data_Binding

💡 小贴士:数据绑定与 MVVM 架构结合使用时,建议配合 LiveData 实现数据驱动的 UI 更新。更多实战案例可参考 Android 架构组件系列