[Android] Jetpack Compose 기초 - 아키텍처 레이어링

Jetpack Compose는 단일 모놀리식 프로젝트(single monolithic project)가 아닙니다. 완전한 스택을 만들기 위해 함께 조합된 다수의 모듈로 만들어졌습니다. Jetpack Compose의 기본 레이어는 아래부터 Runtime, UI, Foundation, Material 순으로 이루어져 있습니다.
자세히 보기

[Android] Jetpack Compose 기초 - 상태 관리

Jetpack Compose를 사용하면 Android 앱에서 상태를 저장하고 사용하는 위치와 방법을 명시적으로 나타낼 수 있다. 이 가이드에서는 상태와 컴포저블 간의 관계에 관해 그리고 보다 손쉬운 상태 처리를 위해 Jetpack Compose에서 제공되는 API에 관해 집중적으로 설명한다.
자세히 보기

[Android] Jetpack Compose 기초 - Compose 이해하기

Jetpack Compose는 Android를 위한 현대적인 선언형 UI 도구 키트로 프론트엔드 뷰를 명령형으로 변형하지 않고도 앱 UI를 렌더링할 수 있게 하는 선언형 API(declarative API)를 제공한다. 이를 통해 앱 UI를 더 쉽게 작성하고 유지관리할 수 있도록 지원한다.
자세히 보기

[Android] View Binding (뷰 바인딩)

뷰 바인딩(View Binding) 기능은 뷰와 상호작용하는 코드를 쉽게 작성할 수 있게 해준다. 모듈에서 사용 설정(enable)된 뷰 바인딩은 각 XML 레이아웃 파일의 바인딩 클래스(binding class)를 생성한다. 바인딩 클래스의 인스턴스는 상응하는 레이아웃에 ID가 있는 모든 뷰의 직접 참조가 포함된다.
자세히 보기

[Android] CustomView & Touch Event

안드로이드는 뛰어난 기능의 표준 뷰와 위젯을 많이 제공한다. 그러나 때로는 앱 특유의 비주얼을 보여주는 커스텀(custom)가 필요하다. 커스텀 뷰를 생성하려면 다음의 세 단계를 거친다.
 ➀ 슈퍼 클래스를 선택한다. 단순 커스텀 뷰에선 View, 복합 커스텀 뷰에선 FrameLayout과 같이 적합한 레이아웃 클래스를 선택한다.
 ➁ 1번에서 선택한 슈퍼 클래스의 서브 클래스를 만들고, 해당 슈퍼 클래스의 생성자를 오버라이드한다.
 ➂ 슈퍼 클래스의 주요 함수들을 오버라이드해 커스터마이징한다.
자세히 보기

[Android] 단위 테스트와 오디오 재생

단위 테스트(unit testing)는 하나의 컴포넌트(주로 클래스) 자체를 테스트하는 것이므로 작성할 수 있는 가장 작은 종류의 테스트다. 그리고 테스트를 실행하고자 전체 앱이나 장치를 사용할 필요가 없으며, 테스트를 여러 번 실행해도 충분할 만큼 빠르게 실행된다. 따라서 하나의 컴포넌트르 테스트할 때 장치 테스트로 실행하는 경우는 거의 없다. 단위 테스트는 안드로이드 런타임이 아닌 로컬 컴퓨터의 JVM(Java Virtual Machine)에서 실행되므로 빠르게 이루어진다.
자세히 보기

[Android] 데이터 바인딩과 MVVM

안드로이드의 데이터 바인딩 data binding 은 Android Jetpack 라이브러리 중 하나로 UI 구성요소와 데이터를 프로그램적 방식으로 연결하지 않고, 선언적 형식으로 결합할 수 있게 해주는 지원 라이브러리를 말한다. 간단하게 말하면 XML파일에 data를 연결 binding해서 사용하는 것을 의미한다.
자세히 보기