목록Android (75)
시배's Android

끊임없이 진화하는 안드로이드 개발 세계에서 유지 관리가 가능하고 확장 가능하며 구조가 잘 짜여진 애플리케이션을 구축하는 것은 매우 중요합니다. 모델-뷰-모델(MVVM) 아키텍처는 이러한 과제를 정면으로 해결하는 가장 강력한 디자인 패턴 중 하나로 부상했습니다. MVVM은 우려 사항을 명확하게 분리하고 테스트 가능성을 높임으로써 안드로이드 개발자들 사이에서 널리 채택되고 있습니다. 이 포괄적인 가이드에서는 안드로이드 MVVM 아키텍처의 복잡성을 자세히 살펴보고, 주요 구성 요소, 장점 및 모범 사례를 살펴보고, 안드로이드 프로젝트에서 MVVM을 마스터할 수 있는 지식을 갖추도록 도와드립니다. Understanding MVVM Architecture MVVM 아키텍처는 고전적인 모델-뷰-컨트롤러(MVC) 패..
Compose 내 테마 분석 | Jetpack Compose | Android Developers Compose 내 테마 분석 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Jetpack Compose의 테마는 여러 개의 하위 수준 구성과 관련 API로 이루어져 있습니다. 이러한 developer.android.com 젯팩 컴포즈의 테마는 여러 하위 수준 구성 요소와 관련 API로 구성됩니다. 이러한 구성 요소는 MaterialTheme의 소스 코드에서 확인할 수 있으며 사용자 정의 디자인 시스템에서도 적용할 수 있습니다. Theme system classes 테마는 일반적으로 공통된 시각적 및 행동 개념을 그룹화하는 여러 시스템으로 구성됩니다. 이러한 시스템은 테마 값을..

Compose의 맞춤 디자인 시스템 | Jetpack Compose | Android Developers Compose의 맞춤 디자인 시스템 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Material은 권장되는 디자인 시스템이며 Jetpack Compose는 Material 구현을 제공하지만, developer.android.com 머티리얼은 권장 디자인 시스템이고 젯팩 컴포즈에는 머티리얼 구현이 포함되어 있지만, 반드시 머티리얼을 사용해야 하는 것은 아닙니다. 머티리얼은 전적으로 공개 API를 기반으로 구축되었으므로 동일한 방식으로 자신만의 디자인 시스템을 만들 수 있습니다. 몇 가지 접근 방식을 사용할 수 있습니다: 추가 테마 값으로 MaterialTheme 확장하..
Android 개발을 하다 보면 이미지나 콘텐츠를 확대/축소하거나 드래그하여 이동시키는 기능이 필요한 경우가 있습니다. 이러한 기능을 구현하려면 ZoomState 클래스와 같은 커스텀 상태 클래스를 사용할 수 있습니다. 이 클래스는 Android Jetpack Compose를 사용하여 화면에 구현된 이미지나 콘텐츠를 제어하고 상호작용하는 데 도움을 주는 클래스입니다. ZoomState 클래스 소개 @Stable class ZoomState( @FloatRange(from = 1.0) private val maxScale: Float = 5f, private var contentSize: Size = Size.Zero, private val velocityDecay: DecayAnimationSpec = ..
Jetpack Compose Side Effects in Details Optimizing UI Performance in Jetpack Compose with SideEffect, LaunchedEffect, and DisposableEffect. Learn how to manage UI effects. medium.com Whey Side-effects? Jetpack Compose에서 사이드 이펙트의 목적은 컴포저블 함수 외부에서 앱의 상태를 변경하는 UI와 관련이 없는 작업을 제어되고 예측 가능한 방식으로 실행할 수 있도록 하는 것입니다. 데이터베이스 업데이트 또는 네트워크 호출과 같은 부수 효과는 코드의 성능과 유지 관리성을 개선하기 위해 UI 렌더링 로직과 별도로 유지해야 합니다. Jetpac..

Compose의 ConstraintLayout | Jetpack Compose | Android Developers Compose의 ConstraintLayout 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. ConstraintLayout은 화면에 다른 컴포저블을 기준으로 컴포저블을 배치할 수 있는 레이아웃 developer.android.com ConstraintLayout은 화면의 다른 컴포저블을 기준으로 컴포저블을 배치할 수 있는 레이아웃입니다. 여러 개의 중첩된 Row, Column, Box 및 기타 사용자 정의 레이아웃 요소를 사용하는 대신 사용할 수 있습니다. ConstraintLayout은 더 복잡한 정렬 요구 사항이 있는 더 큰 레이아웃을 구현할 때 유용합니..

Compose 레이아웃의 내장 기능 측정 | Jetpack Compose | Android Developers Compose 레이아웃의 내장 기능 측정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compose 규칙 중 하나는 하위 요소를 한 번만 측정해야 한다는 것입니다. 하 developer.android.com Compose의 규칙 중 하나는 자녀를 한 번만 측정해야 하며, 자녀를 두 번 측정하면 런타임 예외가 발생한다는 것입니다. 그러나 자녀를 측정하기 전에 자녀에 대한 정보가 필요한 경우가 있습니다. Intrinsics를 사용하면 실제로 측정하기 전에 자식에 대해 쿼리할 수 있습니다. 컴포저블에 대해, 그 컴포저블의 intrinsicWidth 또는 intrins..

Jetpack Compose의 정렬 선 | Android Developers Jetpack Compose의 정렬 선 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compose 레이아웃 모델을 사용하면 AlignmentLine을 사용하여 맞춤 정렬 선을 만들 수 있습 developer.android.com Alignment lines in Jetpack Compose 레이아웃 작성 모델을 사용하면 AlignmentLine을 사용하여 부모 레이아웃에서 자식을 정렬하고 배치하는 데 사용할 수 있는 사용자 지정 정렬선을 만들 수 있습니다. 예를 들어 Row는 자식의 사용자 지정 정렬선을 사용하여 자식을 정렬할 수 있습니다. 레이아웃이 특정 정렬선에 대한 값을 제공하면 레이아웃의..