전체 글 28

Android XML과 Compose의 차이점?

오늘은 안드로이드 앱 개발에서 UI를 개발 하는 두 가지 방식 XML과 Compose의 차이에 대해 알아보겠습니다.XMLXML은 태그를 이용하여 객체를 정의하는 마크업 언어로, 부모 - 자식 관계가 있기 때문에 UI의 구조가 ViewGroup - View의 Tree 형태로 표현되어있다.ComposeCompose는 안드로이드 네이티브 UI를 개발하기 위해 구글에서 새롭게 출시한 선언형 UI 도구 키트이다.Column { Text(text = "Android") Button(onClick = { /* TODO */ }) { Text(text = "Click") }}간단한 예시 비교class MainActivity : AppCompatActivity() { override f..

android 2025.02.23

Android Dagger & Hilt

오늘은 저번에 DI 라이브러리에서 조금 살펴보았던 Dagger와 Hilt에 대해 설명 해 보겠다.Dagger & HiltDagger는 강력한 의존성 주입(DI) 라이브러리로, 컴파일 타임에 의존성을 해결하여 성능이 뛰어나다.Hilt는 Dagger를 기반으로 한 안드로이드 전용 DI 프레임워크로, 설정을 간소화하고 안드로이드 컴포넌트와 쉽게 통합할 수 있도록 도와준다.주요 어노테이션Dagger 주요 어노테이션@Component: 의존성 그래프를 정의하는 인터페이스@Module: 의존성을 제공하는 메서드를 정의하는 클래스@Provides: @Module 내부에서 의존성을 제공하는 메서드에 사용@Inject: 의존성 주입 대상 클래스의 생성자나 필드에 사용Hilt 주요 어노테이션@HiltAndroidApp: ..

android 2025.02.17

Android DI

오늘은 안드로이드 앱 개발에서 많이 사용되는 DI(Dependency Injection)에 대해서 알아보겠다.DI클래스 또는 객체가 필요로 하는 의존성(Dependency)을 직접 생성하거나 관리하는 대신, 외부로부터 제공받는 디자인 패턴이다.DI의 핵심은 의존성을 주입받는다는 것이다. 객체가 스스로 의존성을 만들거나 찾지 않고, 외부에서 제공받는다.DI는 SOLID 원칙 중 D (Dependency Inversion Principle, 의존성 역전 원칙) 를 따르는 디자인 패턴이다.DI 사용 장점코드의 재사용 및 의존성 분리 -> 클래스 간의 결합도를 줄임리팩토링이 수월함테스트 편의성 -> 클래스가 의존성을 관리하지 않으므로 테스트를 더 쉽게 수행할 수 있음Android Di 실행 방법Construct..

android 2025.02.09