일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Retrofit
- 안드로이드 스튜디오
- 스튜디오
- 에러
- 코틀린
- 유튜브
- 레트로핏
- viewpager
- build
- RecyclerView
- GIT
- 안드로이드
- image
- WebView
- studio
- 안드로이드스튜디오
- Kotlin
- 웹뷰
- 코루틴
- error
- 안스
- 의존성주입
- ADB
- MVVM
- Github
- 깃헙
- dart
- Android
- Gradle
- coroutine
- Today
- Total
목록livedata (2)
코딩하는 일용직 노동자
LiveData는 안드로이드에서 UI 스레드에서 데이터 변경 사항을 관찰하는 데 사용되는 유용한 클래스입니다. value와 postValue는 모두 LiveData의 값을 변경하는 데 사용되는 메서드이지만, 작동 방식과 스레드 처리 측면에서 중요한 차이점이 있습니다. 1. value 사용: 메인 스레드에서 직접 호출: value는 메인 스레드에서 직접 호출되어 LiveData 값을 변경합니다. 즉각적인 값 반영: value 변경은 즉시 UI 관찰자에게 전달됩니다. 스레드 안전성 문제: value는 메인 스레드에서만 호출해야 하며, 백그라운드 스레드에서 호출하면 예외가 발생할 수 있습니다. 코드 간결성: 간단한 값 변경 작업에는 value 사용이 더 간결하고 명확합니다. 2. postValue 사용: 백그..

MVVM 으로 개발할때 ViewModel은 View를 몰라야 합니다. (ViewModel을 만들고 사용하는 activity가 자신의 context를 넘겨주거나 하지 않습니다.) 때문에 ViewModel에서 View로 이벤트나 결과를 전달할 경우에는 View가 ViewModel을 observe 하다가 상태가 변하면 그에따른 처리를 하게 합니다. // ViewModel var resetList = MutableLiveData().apply { value = false } ... /** * Search 버튼 클릭 처리. */ fun onClickSearch() { if (!TextUtils.isEmpty(etStr)) { mPage = 1 resetList.value = true searchImage(etSt..