Databinding 이란 XML에 있는 레이아웃요소들을 FindViewById를 하지 않고 자동으로 접근이 가능하게 해준다.
Databinding을 위한 기본 설정
1. gradle에 dataBinding enabled = true
2. XML에 <layout> 추가
3. var binding = DataBindingUtil.setContentView(this, R.layout.activity_main) as ActivityMainBinding
var binding = DataBindingUtil.inflate(this, R.layout.fragment) as FragementBinding
var binding = DataBindingUtil.bind(itemView) as ViewBinding
Databinding을 도와주는 Observable -> 변경된 데이터를 XML로 전달해준다.
데이터바인딩의 강점은 데이터가 변경될때 이를 자동으로 알려줘 뷰를 갱신시킬수있다.
Two-way binding
Model에 있는 것을 UI에 주입할뿐만 아니라 UI에 있는 값을 받아서 처리해야하는 경우