일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ㅋㅁ
- ㅓ
- Kotlin
- 싱글톤
- El
- 추상팩토리패턴
- 디자인패턴
- F
- PrototypePattern
- designPattern
- 프로토타입 패턴
- 코틀린
- 빌터패턴
- r
- Functional Programming
- 옵저버 패턴
- Design Pattern
- factory method
- 팩토리 메소드
- Abstract Factory
- Singleton
- a
- 함수형프로그래밍
- builderPattern
- 추상 팩토리
- 디자인패턴 #
- Observer Pattern
- Today
- Total
목록Android Jetpack Architecture/LifeCycle (3)
오늘도 더 나은 코드를 작성하였습니까?
권장사항 UI 컨트롤러(활동과 프래그먼트)를 가능한 한 가볍게 유지하세요. 이러한 컨트롤러는 자체 데이터를 확보하려고 해서는 안 됩니다. 대신 ViewModel을 사용하여 데이터를 확보하고 LiveData 객체를 관찰하여 변경사항을 다시 뷰에 반영한다(DataBinding 을 이용한다) 데이터 기반 UI를 작성해 보세요. 여기서 데이터 변경에 따라 뷰를 업데이트하거나 사용자 작업을 다시 ViewModel에 알리는 것은 UI 컨트롤러의 책임입니다. ViewModel 클래스에 데이터 로직을 넣으세요. ViewModel은 UI 컨트롤러와 나머지 앱 간의 커넥터 역할을 해야 합니다. 하지만 데이터를 가져오는 것(예: 네트워크에서 데이터 가져오기)은 ViewModel의 책임이 아닙니다. 대신 ViewModel은 ..
만약 LifecycleOwner를 직접 구현하려면 LifecycleRegistry 클래스를 사 용수 있다. 다음 코드 예에서와 같이 LifecycleRegistry 클래스에 이벤트를 전달해야 합니다. public class MyActivity extends Activity implements LifecycleOwner { private LifecycleRegistry lifecycleRegistry; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); lifecycleRegistry = new LifecycleRegistry(this); lifecycleRegistry.markSt..
Activity 및 fragment 다른 컴포넌트의 생명주기 상태가 변경될 때 이에 대응해주는 라이브러리이다. 생명주기 인식 컴포넌트를 사용하면 더 체계적이고 가벼운 코드를 작성하고 유지보수에 용이하다. 일반적으로 Activity와 fragment는 각 생명주기에 해당하는 핸들러 메서드에서 데이터나 리소스를 할당하고 정리하는데 코드가 많아지고 잠재적인 에러 유발 요소가 증가한다. 생명주기에 의존적이던 코드를 생명주기 메서드에서 걷어내고 생명주기 인식 컴포넌트에 이를 위임한다. androidx.lifecycle 패키지는 액티비티 또는 프래그먼트 생명주기 상태에 따라 자동으로 동작을 조정할 수 있는 클래스와 인터페이스를 제공한다. 왜 생명주기가 중요한가? 안드로이드 프레임 워크의 핵심 구성요소(Activit..