일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- PrototypePattern
- Design Pattern
- 빌터패턴
- a
- Singleton
- El
- Abstract Factory
- 싱글톤
- factory method
- Kotlin
- 프로토타입 패턴
- ㅋㅁ
- designPattern
- 추상 팩토리
- Observer Pattern
- builderPattern
- 추상팩토리패턴
- 옵저버 패턴
- Functional Programming
- 함수형프로그래밍
- 코틀린
- 팩토리 메소드
- F
- ㅓ
- 디자인패턴
- r
- 디자인패턴 #
- Today
- Total
목록Android Jetpack Architecture/LiveData (5)
오늘도 더 나은 코드를 작성하였습니까?
databinding의 가장 중요한 목적은 LiveData(Observable)을 이용하여 MVP 패턴에서 View와 Presenter 간의 높은 의존성을 약하게 만들어야 되었다. 또한 안드로이드 구성요소의 생명주기를 인식할 수 있는 LiveData를 이용한다면 생명주기에 대한 수동 처리 없이 데이터 변경에 따른 UI를 변경을 반응형으로 프로그래밍할 수 있다. *안드로이드 스튜디오 3.1 이상 버전부터는 Observable 필드의 사용보단 LiveData의 사용을 데이터 바인딩에서 권장된다. LiveData와 Binding클래스를 같이 사용하려면 바인딩 클래스에 LifecycleOwner를 명시하여 생명주기를 인식하고 생명주기를 인식하고 이에 따라 LiveData가 트리거 될 수 있도록 해야 된다. pu..
- MediatorLiveData는 LiveData의 서브클래스 이다. - 클래스를 사용하여 여러 LiveData 소스를 병합가능하다. - MediatorLiveData 객체의 관찰자는 원본 LiveData 소스 객체가 변경될 때마다 호출됩니다. - 로컬 데이터베이스나 네트워크에서 업데이트할 수 있는 LiveData 객체가 UI에 있다면 다음 소스를 MediatorLiveData 객체에 추가하면 된다. 데이터베이스에 저장된 데이터와 연결된 LiveData 객체 네트워크에서 액세스하는 데이터와 연결된 LiveData 객체 - 소스에서 업데이트를 받기 위해 MediatorLiveData 객체만 관찰하면 된다. 예시) 단순히 2개의 라이브데이터를 MediatorLiveData 연결하면 2개중 1개가 변하면 M..
관찰자에게 LiveData 객체를 전달하기 전에 객체에 저장된 값을 변경하고 싶거나 다른 객체의 값에 따라 다른 LiveData인스턴스를 반환해야 하는 경우가 있습니다. 즉, 변경된 LiveData를 observer에게 전달하기 전에 데이터를 가공하고 싶거나, 다른 LiveData를 만들고 싶다면 Transformations을 이용합니다. 앱의 모든 계층에서 LiveData를 사용하는 일반적인 흐름도 LiveData 객체에 저장된 값에 함수를 적용하고 결과를 다운스트림으로 전파합니다. View가 DESTROY 된 경우, View의 수명주기가 연속된 관찰자(Observers)로 다운 스트림으로 전파되므로 이러한 subscriptions을 해체할 필요가 없습니다. 구성 요소 간에 데이터를 전달하려면 매핑 및..
- ViewModel class 내에서 데이터 타입(Generic)을 보유할 LiveData의 객체를 선언한다. - onChanged() 메서드를 정의하는 Observer 객체를 생성합니다. onChanged()는 LiveData 객체가 보유한 데이터 변경 시 호출되어 로직을 처리한다. 일반적으로 Activity fragment와 같은 UI 컨트롤러에 Observer 객체를 생성합니다. - observe() 메서드를 사용하여 LiveData 객체에 Observer 객체를 연결합니다. observe() 메서드는 LifecycleOwner 객체를 사용합니다. 이렇게 하면 Observer 객체가 LiveData 객체를 구독하여 변경사 항에 관한 알림을 받습니다. 일반적으로 Activity fragment와 같..