Data Binding?
μ½λμμ μμ±νλ κ²μ΄ μλλΌ, μ μΈμ νμμΌλ‘ λ μ΄μμμ UI ꡬμ±μμλ₯Ό μ±μ λ°μ΄ν° μμ€μ κ²°ν©ν μ μλ μ§μ λΌμ΄λΈλ¬λ¦¬μ λλ€. λ³΄ν΅ μ½λμμ λ€μκ³Ό κ°μ΄ findViewById()λ₯Ό νΈμΆνμ¬ μμ ―μ μ°Ύκ³ , λ°μ΄ν° μμ€λ₯Ό μμ ―μ μμ±μ κ²°ν©μν€λ λ°©μμΌλ‘ μ§νν©λλ€.
λ§μ½ λ°μ΄ν° λ°μΈλ© λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ μ΄λ° λ°©μμΌλ‘ ν΄κ²°ν μ μμ΅λλ€.
λ μ΄μμ νμΌμμ ꡬμ±μμλ₯Ό λ°μ΄ν°μμ€μ κ²°ν©νλ©΄ μ‘ν°λΉν°μμ λ§μ UI νλ μμν¬ νΈμΆμ μμ ν μ μμ΄ λμ± λ¨μνλκ³ μμ‘΄μ±μ΄ λ¨μ΄μ Έ μ μ§κ΄λ¦¬ λν μ¬μμ§λλ€. κ·Έλ¦¬κ³ μ± μ±λ₯μ΄ ν₯μλλ©° λ©λͺ¨λ¦¬ λμ λ° null ν¬μΈν° μμΈλ₯Ό λ°©μ§ν μ μμ΅λλ€.
λ°μ΄ν° κ²°ν© λΌμ΄λΈλ¬λ¦¬ μ¬μ©
λ°μ΄ν° κ²°ν© λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκΈ° μν΄μλ app μμ€μ gradleμ μλ μμ μ²λΌ μμ±μ ν΄μΌν©λλ€.
λ°μ΄ν° κ²°ν© λΌμ΄λΈλ¬λ¦¬λ λ μ΄μμμ λ·°λ₯Ό λ°μ΄ν° μμ€μ κ²°ν©νλ λ° νμν ν΄λμ€λ₯Ό μλμΌλ‘ μμ±ν©λλ€.
ActivityMainBindingκ³Ό κ°μ΄ μμ μ΄ μ μΈν μ‘ν°λΉν°μ μ΄λ¦μ λ°λΌ ν΄λμ€κ° μλμΌλ‘ μμ±λ©λλ€. ν΄λΉ ν΄λμ€λ₯Ό μ΄μ©νλ©΄ μ‘ν°λΉν°μ xml νμΌ κ°μ λ°μΈλ©μ΄ κ°λ₯ν©λλ€.
λΌμ΄λΈλ¬λ¦¬λ κΈ°μ‘΄ λ μ΄μμκ³Ό μννκ² κ³΅μ‘΄ν μ μλλ‘ ν©λλ€. μλ₯Ό λ€μ΄ ννμμμ μ¬μ©ν μ μλ κ²°ν©μ μν λ³μλ UI λ μ΄μμ λ£¨νΈ μμμ λμΌν μμΉμ μμμΈ data μμμμ μ μλ©λλ€.
xml μμμ κ²°ν©μ μν λ³μλ₯Ό λ°μΈλ© ν΄μ€ ν, λ€μκ³Ό κ°μ΄ UI ꡬμ±μμμ λ°μ΄ν°μμ€λ₯Ό κ²°ν©μν¬ μ μμ΅λλ€.
λ¨μν λ°μ΄ν°μμ€ λΏλ§ μλλΌ, μ΄λ²€νΈ κ΄λ ¨ λ©μλλ μ μΈμ νμμΌλ‘ κ²°ν©μμΌμ€ μ μμ΅λλ€.
Reference
Android μμ MVVM μΌλ‘ κΈ΄ μ¬μ μ…
μλλ‘μ΄λ μ± μν€ν μ³ ν¨ν΄μ΄ μ리 μ‘μ κ²μ μΌλ§ λμ§ μμμ΅λλ€. λΆκ³Ό 5λ μ λΆν°μμΌ μ΄λ»κ² νλ©΄ μ’μ κ°λ°μΈμ§κ° ꡬ체νλμκ³ νκ΅μλ 4λ μ μ―€μμμΌ MVP μ ꡬν체 μν μ½λλ€μ΄ λμ€κΈ° μμνμμ΅λλ€.
medium.com
https://developer.android.com/topic/libraries/data-binding
λ°μ΄ν° κ²°ν© λΌμ΄λΈλ¬λ¦¬ | Android κ°λ°μ | Android Developers
λ°μ΄ν° κ²°ν© λΌμ΄λΈλ¬λ¦¬ Android Jetpackμ ꡬμ±μμ λ°μ΄ν° κ²°ν© λΌμ΄λΈλ¬λ¦¬λ νλ‘κ·Έλλ§€ν± λ°©μμ΄ μλλΌ μ μΈμ νμμΌλ‘ λ μ΄μμμ UI ꡬμ±μμλ₯Ό μ±μ λ°μ΄ν° μμ€μ κ²°ν©ν μ μλ μ§μ λΌμ΄λΈλ¬λ¦¬μ λλ€. λ μ΄μμμ νν UI νλ μμν¬ λ©μλλ₯Ό νΈμΆνλ μ½λκ° ν¬ν¨λ νλμμ μ μλ©λλ€. μλ₯Ό λ€μ΄ μλ μ½λλ findViewById()λ₯Ό νΈμΆνμ¬ TextView μμ ―μ μ°Ύμ viewModel λ³μμ userName μμ±μ κ²°ν©ν©λλ€. K
developer.android.com