[Android] μλλ‘μ΄λ LiveData λ°λ‘ μμ λμ§ μλ μ΄μ λ° ν΄κ²°λ°©μ - setValue() μ postValue()μ μ°¨μ΄μ
μλ νμΈμ π
μ€λμ κ°λ° μ€μ λ§μ£ΌμΉ μμ μ΄μλ₯Ό μμ νλ€κ°
μκ² λ μ¬μ€μ λν΄μ κ°λ¨νκ² ν¬μ€ν ν΄λ³΄λ € ν©λλ€.

μ λ ViewModelμ μ¬μ©μμ LiveDataμ κ°μ λ³κ²½νκ² λλ©΄
postValue() ν¨μλ₯Ό μ£Όλ‘ μ¬μ©νμμ΅λλ€.
κ·Έλ°λ°
ViewModelμ κ°μ λ³κ²½ νμ λ°λ‘ κ°μ μ½μΌλ € ν κ²½μ°
λ³κ²½λ κ°μ μ½μ§ λͺ»νκ³ μ΄μ κ°μ μ½μ΄ λμμ΄ μλͺ»λλ κ²½μ°κ° λλ¬ μμμ΅λλ€. π€
μμ보λ ν΄κ²°λ°©λ²μ μμ£Ό κ°λ¨νμ΅λλ€.
λ°λ‘ κ°μ λ³κ²½νμ¬ μ½μ΄μΌ νλ κ²½μ°μλ postValue()λ₯Ό ν΅ν λ³κ²½μ΄ μλ
setValue()λ₯Ό ν΅ν΄ κ°μ λ³κ²½νμ¬ μ½μΌλ©΄ λ©λλ€. π€©
μ΄λ κ² λλ κ²μ΄ λΉμ°νλ° ν΄λΉ λΆλΆμ λν΄μλ μλ μ€λͺ μ μ°Έκ³ λΆνλ립λλ€.
setValue()μ postValue()μ μ°¨μ΄
λ¨Όμ λ ν¨μ λͺ¨λ LiveDataμ κ°μ λ³κ²½μν€λ ν¨μμ΄μ§λ§
ν° μ°¨μ΄μ μ΄ μμ΅λλ€.
λ°λ‘ ν΄λΉ LiveDataλ₯Ό ꡬλ νκ³ μλ observerκ° κ°μ μ½μ λ
'λ°λ‘' λ³κ²½μν€λλ μλλμ λλ€.
λ§μ₯λ κ°μ§λ§ λ΄λΆμ μΌλ‘ νμΈν΄λ³΄λ©΄ μ μ μμ΅λλ€.
setValue()μ κ²½μ° κ°μ λ³κ²½ μμ main threadμμ λ°λ‘ λ³κ²½νμ§λ§
postValue()λ λ΄λΆμ μΌλ‘ new Handler(Looper.mainLooper()). post(() -> setValue())λ‘ λμν©λλ€.
μ¦, handlerλ₯Ό ν΅ν΄ main looperμμ setting νμ¬ κ°μ΄ λ³κ²½λλ λμμ΄κΈ° λλ¬Έμ
λ³κ²½ μ¦μ κ°μ μ½μΌλ €κ³ ν κ²½μ° μ΄μ κ°μ μ½κ² λλ κ²½μ°κ° μκΈ°λ κ²μ λλ€.
μμΈλ¬, 곡μ λ¬Έμλ₯Ό νμΈ μμλ μλμ κ°μ΄ μ½λ©νΈκ° μ νμκΈ°μ
λ°λ‘ λ³κ²½λ LiveDataμ κ°μ μ½κ³ μΆμ κ²½μ°μλ setValue()λ₯Ό μ¬μ©νλ©΄ λ κ² κ°μ΅λλ€.
(λ¨, setValue()λ λ°λμ main threadμμ νΈμΆν΄μΌ ν©λλ€.)
μλλ MutabeLiveDataμ 곡μλ¬Έμμ λλ€. μ°Έκ³ λΆνλ립λλ€. π
MutableLiveData | Android Developers
Stay organized with collections Save and categorize content based on your preferences. added in version 1.0.0 belongs to Maven artifact android.arch.lifecycle:livedata-core:1.1.1 MutableLiveData The android.arch Architecture Components packages are no long
developer.android.com
μ€λλ μ¦μ½νμΈμ :)