안드로이드에서 편의를 위해 제공하는 라이브러리의 모음인 jetpack 이 있습니다. jetpack 은 크게 기초(Foundation), 아키텍처(architecture), 동작(Behavior), 사용자 인터페이스(User Interface) 컴포넌트로 분류됩니다.저는
생명주기 인식 컴포넌트는 액티비티 또는 프래그먼트 같은 다른 컴포넌트의 생명주기 상태가 변경될 때 이에 대응하는 라이브러리입니다. 이러한 컴포넌트를 사용하면 더욱 체계적으로 구성하고, 가벼운 코드를 유지 보수할 수 있습니다.Lifecycle 클래스 는 액티비티 또는 프
ViewModel 클래스는 생명주기를 인식하며, UI와 관련된 데이터를 저장하고 관리합니다. ViewModel 클래스는 화면이 회전되어 액티비티가 재생성되는 것과 같은 상황에서도 살아남아 데이터를 보존합니다. 위의 그림은 액티비티가 회전하고 종료하기까지의 lifecyc
LiveData LiveData 는 lifecycle 을 통해 생명주기를 인식합니다. 즉 액티비티, 프래그먼트, 서비스와 컴포넌트들의 생명 주기를 따릅니다. LiveData의 장점들은 아래와 같습니다. UI와 data 의 상태 일치 보장 memory leak 없음 Da
Android KTX Android KTX 는
의존성 주입 은 의존 관계에 있는 클래스의 객체를 외부로 부터 생성하여 주입받는 것입니다. 의존성 주입을 적용한 코드와 적용하지 않은 코드를 비교해 보면 더 잘 이해할 수 있습니다.장점리팩토링이 수월하다. 클래스간의 결합도를 느슨하게 한다.stub이나 mock 객체를
SingleLiveEvent ViewModel 에서 View 에 이벤트를 전달할 때, 값을 전달하는 경우가 아닌 이벤트가 발생했다는 사실만을 전달하고 싶을 때, 아래의 코드와 같이 Unit 값을 전달하여 이벤트를 감지하도록 했었습니다. 위의 코드는 비효율적일 뿐만 아
안드로이드의 내부 DB 로 자주 사용되는 Room, Realm, SQLite 를 비교하고 Room 에 대해 좀 더 자세히 알아보겠습니다. Room VS SQLite Room 은 SQLite 를 더 편하게 사용하기 위해 나왔습니다. SQLite 와 비교하여 Room 의