일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 빌터패턴
- Observer Pattern
- Abstract Factory
- a
- 싱글톤
- ㅋㅁ
- builderPattern
- 코틀린
- 프로토타입 패턴
- designPattern
- r
- 함수형프로그래밍
- PrototypePattern
- ㅓ
- Kotlin
- El
- 팩토리 메소드
- 옵저버 패턴
- 추상팩토리패턴
- Functional Programming
- F
- Singleton
- 디자인패턴
- 디자인패턴 #
- Design Pattern
- factory method
- 추상 팩토리
- Today
- Total
목록분류 전체보기 (327)
오늘도 더 나은 코드를 작성하였습니까?
ViewModel 클래스는 수명 주기를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었다. ViewModel 클래스를 사용하면 화면 회전과 같이 구성을 변경할 때도 데이터를 유지할 수 있습니다. Android 프레임워크는 Activity/Fragment 와 같은 UI 컨트롤러의 수명 주기를 관리합니다. 프레임워크는 특정 사용자 작업이나 완전히 통제할 수 없는 기기 이벤트에 대한 응답으로 UI 컨트롤러를 제거하거나 다시 만들도록 결정할 수 있습니다. 시스템에서 UI 컨트롤러를 제거하거나 다시 만들면 컨트롤러에 저장된 일시적인 모든 UI 관련 데이터가 손실됩니다. 예를 들어 앱은 Activity중 하나에 사용자 목록을 포함할 수 있습니다. 구성 변경을 위해 Activity를 다시 생성하면 새 활동은..
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을 해체할 필요가 없습니다. 구성 요소 간에 데이터를 전달하려면 매핑 및..