DataBinding 프로그래밍 방식이 아닌 선언적 방식을 사용하여 레이아웃의 UI 구성 요소를 앱의 데이터 소스에 바인딩할 수 있는 Android Jetpack의 라이브러리 DataBinding 사용의 장점 액티비티에서 UI 호출을 제거하여 코드를 더 간단하고 쉽게 유지 및 관리할 수 있다. 앱의 성능을 개선하고 메모리 누수 및 널 포인터 예외를 방지하...
ViewPager의 pagerAdapter viewPager를 사용하면 수평 스와이프를 통해 여러 화면을 탐색할 수 있다. 이 때 여러 화면에 대한 정보를 넘겨주기 위해 필요한 것이 pagerAdapter 이다. viewPager의 pagerAdapter 종류로는 2가지가 있다! FragmentPagerAdapter 프래그먼트의 개수가 적거나 고정된 경우...
버그인지는 모르겠지만 recyclerView item의 루트 레이아웃을 constraintLayout으로 설정하고 안에 들어가는 요소들의 제약이 사방으로 설정되어있지 않을 경우, MATCH_PARENT가 동작하지 않는 문제가 있다. constraintLayout 뿐만 아니라 다른 레이아웃들도 종종 이러한 문제가 있는 것 같은데, 이런 경우 recycler...
NestedScrollableHost viewPager2와 그 내부 요소의 스크롤 방향이 같을 때, 스크롤이 혼선되는 경우가 있다. 이 때 자식 뷰가 우선적으로 스크롤을 인식할 수 있도록 하기 위해 사용하는 것이 NestedScrollableHost이다. NestedScrollableHost 사용 방법 [Android github - NestedScrol...
Hilt 종속성 주입을 위해 사용하는 Android Jetpack의 라이브러리 프로젝트의 모든 Android 클래스에 컨테이너를 제공하고 자동으로 수명주기를 관리한다. Hilt 사용의 장점 DI 라이브러리인 Dagger를 기반으로 빌드되어, Dagger가 제공하는 컴파일 시간 정확성, 런타임 성능, 확장성 및 Android Studio 지원의 이점을 누릴...
Activity 사용자와 앱과 상호작용하기 위한 진입점 앱이 UI를 그리는 창을 제공 한 앱이 다른 앱을 호출할 경우, 앱 전체를 호출하는 것이 아닌 Activity를 호출 main() 메서드를 사용하여 앱을 실행하는 프로그래밍 패러다임과는 달리 Activity 수명주기의 특정 단계에 해당하는 특정 콜백 메서드를 호출하여 Activity를 시작함 매니페스트...
4대 컴포넌트 안드로이드 앱의 필수적인 기본 구성 요소 각 구성 요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점 다른 구성 요소에 종속되는 구성 요소도 있음 안드로이드 앱은 main() 함수와 같은 단일 진입 지점이 없으므로 필요한 다른 앱의 구성 요소를 시작하여 이를 사용할 수 있음 4대 컴포넌트의 종류 Activity Service Broadc...