IT/Android 썸네일형 리스트형 🧩 5분 만에 이해하는 Hilt 애노테이션 ✨ 5분 만에 이해하는 Hilt 애노테이션 Hilt는 Android에서 수동 의존성 주입의 보일러플레이트를 줄여주는 라이브러리입니다. 이 가이드는 Android 프로젝트에서 자주 사용되는 Hilt 애노테이션과 예제 코드를 소개합니다. @HiltAndroidApp Application 클래스에 적용하여 Hilt를 초기화하고, 앱 전체에 DI 컨테이너를 제공합니다. @HiltAndroidAppclass SampleApplication : Application() AndroidManifest.xml에 이 Application 클래스를 등록해야 Hilt가 초기화됩니다. @AndroidEntryPoint Activity, Fragment, Service 등에 의존성을 주입하려면 이 애노테이션이 필요합.. 더보기 🧠 코드 그 이상: 시니어 안드로이드 개발자가 되기 위한 길 🧠 코드 그 이상: 시니어 안드로이드 개발자가 되기 위한 길시니어 안드로이드 개발자가 된다는 것은 단순히 Kotlin이나 Jetpack 라이브러리를 능숙하게 다루는 것을 넘어서는 일입니다.이는 완전히 새로운 사고방식을 요구합니다.책임감을 가지고 프로젝트를 이끌며, 압박 속에서도 침착함을 유지하고, 동료를 멘토링하며, 단기적인 스프린트를 넘어 장기적인 아키텍처 결정을 내리는 능력이 필요합니다.🛠️ 기술 역량1. 견고한 아키텍처 지식시니어 개발자는 단순히 기능을 구현하는 것을 넘어, 확장 가능하고 테스트 가능하며 유지보수가 용이한 아키텍처를 설계합니다.MVVM, MVI, MVC, 클린 아키텍처 등의 패턴과 함께, Hilt나 Koin과 같은 의존성 주입 도구에 대한 이해와 활용이 필수적입니다.2. 현대 안.. 더보기 🔄 Kotlin Flow에서 중복되는 DTO-Domain 매핑 줄이기 🔄 Kotlin Flow에서 중복되는 DTO-Domain 매핑 줄이기Kotlin Flow를 사용할 때, API로부터 받은 데이터를 DTO로 파싱한 후 이를 Domain 객체로 변환하여 사용하는 것이 일반적인 패턴입니다. 이러한 계층 분리는 코드의 품질을 높이고 예기치 않은 동작을 방지하는 데 도움이 됩니다.그러나 Flow 내에서 매번 map 연산자를 사용하여 DTO를 Domain으로 변환하는 것은 반복적이고 중복된 작업이 될 수 있습니다. 이를 개선하기 위해 다양한 방법을 시도해보았습니다.🧪 시도 #1: 인터페이스를 활용한 일반화먼저, DTO 클래스에 asDomain 함수를 구현하고 이를 인터페이스로 추상화합니다.interface DomainConvertible { fun asDomain(): .. 더보기 🧱 2025년 안드로이드 앱 아키텍처: 클린 코드 원칙을 적용한 현대적 설계 🧱 2025년 안드로이드 앱 아키텍처: 클린 코드 원칙을 적용한 현대적 설계2025년의 안드로이드 앱 개발은 단순히 작동하는 앱을 넘어서, 확장 가능하고 테스트가 쉬우며 유지보수까지 용이한 구조를 설계하는 것이 필수가 되었습니다. 앱의 복잡성이 높아지고 팀이 분산되면서, 클린하고 모듈화된 아키텍처는 더 이상 선택이 아닌 기본입니다.✨ 왜 클린 아키텍처인가?과거에는 액티비티나 프래그먼트에 로직이 뒤섞여 있었습니다. 이 구조는 유지보수나 테스트, 재사용성 면에서 매우 취약했습니다. 클린 아키텍처는 다음과 같은 원칙을 따릅니다:관심사의 분리계층 간의 명확한 역할 정의안정성과 테스트 가능성 향상핵심 철학: 비즈니스 로직은 UI, 프레임워크, 데이터베이스로부터 독립적이어야 한다.🧩 클린 아키텍처의 기본 계층 .. 더보기 🛠️ Jetpack Compose: 실제 프로젝트에서 시간을 절약해준 5가지 팁 🛠️ Jetpack Compose: 실제 프로젝트에서 시간을 절약해준 5가지 팁Jetpack Compose를 사용하면서 실제 프로젝트에서 시간을 아끼게 해준 몇 가지 유용한 팁들을 정리해봤습니다. UI 효율을 높이고 코드의 간결성과 유지보수성을 향상시킬 수 있는 팁들이니 참고해보세요.1. 스크롤 위치에 따라 TopAppBar 제목 동적으로 표시하기사용자가 콘텐츠를 스크롤할 때 특정 위치를 지나면 TopAppBar에 제목을 표시하고 싶은 경우가 있습니다. LazyListState와 derivedStateOf를 활용하면 쉽게 구현할 수 있습니다.val lazyListState = rememberLazyListState()val showTitle by remember { derivedStateOf { .. 더보기 🚀 Jetpack Compose 1.8: UI 개발의 새로운 전환점 🚀 Jetpack Compose 1.8: UI 개발의 새로운 전환점Jetpack Compose 1.8이 출시되었습니다! 이번 업데이트는 Android UI 개발자들에게 다양한 기능 개선과 안정성을 제공합니다. 특히 애니메이션, 텍스트 처리, HTML 지원 등에서 큰 발전이 있었습니다. 이 글에서는 주요 변경 사항을 정리해 보겠습니다.(Medium)🧱 API 안정성 및 주요 정리Compose 1.7에서 170개의 실험적 API 중 1.8에서는 70개만 남게 되어, 거의 50%가 정식 API로 전환되었습니다. 이는 Compose의 성숙도를 높이고, 향후 변경에 대한 걱정을 줄여줍니다.(Medium)추가 개선 사항:전체 화면 다이얼로그가 시스템 바 뒤에 그려짐리스트에서 OverscrollEffect 지원C.. 더보기 1/18 read post 1. 출처 : https://medium.com/huawei-developers/kotlin-nested-class-and-inner-class-tutorial-example-3ff2dd0efc7a 제목 : Kotlin Nested Class and Inner Class 요약 : nested class와 innser class 를 java code 로 decompile 하여 비교하며 설명합니다. inner class 는 부모의 class 의 객체를 참조하기 때문에 메모리 릭 위험이 있습니다. 더보기 1/10 read post 1. 출처 : https://weidianhuang.medium.com/android-fragment-not-attached-to-a-context-24d00fac4f3d Android Fragment not attached to a context This is a common issue if we don’t take care of it in our application, and it is difficult to catch the issue during development. But once… weidianhuang.medium.com 제목 : Android Fragment not attached to a context 요약 : fragment 에 view 가 있는 상태에서 화면 회전이나 뒤로 가기 를 .. 더보기 이전 1 2 3 4 5 ··· 15 다음