일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Functional Programming
- 코틀린
- 함수형프로그래밍
- ㅋㅁ
- Singleton
- factory method
- 추상 팩토리
- Kotlin
- 디자인패턴
- ㅓ
- builderPattern
- r
- 빌터패턴
- F
- 프로토타입 패턴
- 디자인패턴 #
- Design Pattern
- Observer Pattern
- designPattern
- 추상팩토리패턴
- PrototypePattern
- a
- Abstract Factory
- El
- 싱글톤
- 팩토리 메소드
- 옵저버 패턴
- Today
- Total
목록Android Jetpack Architecture (70)
오늘도 더 나은 코드를 작성하였습니까?
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/BCTRu/btqGRRUZ8X4/ddhC7qAhv3mK3kikp7GoQ0/img.png)
- MediatorLiveData는 LiveData의 서브클래스 이다. - 클래스를 사용하여 여러 LiveData 소스를 병합가능하다. - MediatorLiveData 객체의 관찰자는 원본 LiveData 소스 객체가 변경될 때마다 호출됩니다. - 로컬 데이터베이스나 네트워크에서 업데이트할 수 있는 LiveData 객체가 UI에 있다면 다음 소스를 MediatorLiveData 객체에 추가하면 된다. 데이터베이스에 저장된 데이터와 연결된 LiveData 객체 네트워크에서 액세스하는 데이터와 연결된 LiveData 객체 - 소스에서 업데이트를 받기 위해 MediatorLiveData 객체만 관찰하면 된다. 예시) 단순히 2개의 라이브데이터를 MediatorLiveData 연결하면 2개중 1개가 변하면 M..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ZTOpK/btqGPOKXBtu/u1dP3lIgHSQFrPka5slKR1/img.png)
관찰자에게 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와 같..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/F8w6r/btqGGG1xvpp/8XiNhFDtnt7YUDP5YcNCDK/img.png)
LiveData 개요 LiveData는 관찰 가능한(Observable) 한 데이터 홀더 클래스이다. LiveData는 LifeCycle을 인식한다. 즉, activity, fragment service 등 안드로이드 구성요소의 생명주기를 인식. LiveData는 활성 수명 주기 상태에 있는 앱 구성요소 관찰자(Observer)만 데이터를 업데이트합니다. LiveData는 Observer 패턴을 따른다. 데이터의 변경이 일어났을 때 콜백으로 받아 처리할 수 있습니다. 이렇게 데이터의 변경이 될 때마다 콜백을 실행하는데 활성화 상태가 아닌 경우 Lifecycle을 알기 때문에 필요하지 않을 땐 콜백이 실행 안된다. LifecycleOwner 인터페이스를 구현하는 객체(Activity, fragment)를 ..