Effective Android Data Binding
summary
Enables data binding in build.gradle, uses DataBindingUtil.setContentView to get generated binding classes, and binds ViewModel properties via BaseObservable or ObservableInt so views update without manual findViewById. Covers two-way binding for form fields, binding adapters to plug in Glide/Picasso and custom attributes (including overriding android:visibility), and using LiveData + ViewModel to survive rotation. Examples: counter, RecyclerView adapter (must call executeBindings), and a login demo that simulates a 7s async login and preserves state. Conversions and error reporting have caveats.
AI-written summary · about








