Android24 [Android/Compose] 왜 Compose에서 Jetpack Navigation을 사용할까? 프로젝트를 진행하다 보면 '당연하게' 사용하고 있는 기술들에 대해 문득 궁금증이 생길 때가 있다.나는 Jetpack Navigation Component가 그랬다.분명 과거의 안드로이드 개발에서는 Intent와 Bundle을 사용해 화면을 전환하고 데이터를 넘기는 방식이 익숙했다. 이 방식도 나름의 규칙만 잘 지키면 충분히 동작했는데, 왜 Compose 시대에 와서는 모두가 Jetpack Navigation을 필수처럼 이야기하는 걸까?단순히 'Google이 권장하니까' 혹은 '최신 기술이니까'라는 이유를 넘어, 근본적인 장점이 무엇인지 제대로 정리해보고 싶어졌다.모든 것의 시작: 패러다임의 전환가장 핵심적인 이유는 UI 개발 패러다임의 전환에 있다.기존 방식 (XML + Intent): 명령형(Imper.. 2025. 11. 12. [Gradle] 타입세이프 프로젝트 접근자 사용 최근 개인 프로젝트에 멀티모듈 구조를 적용하면서 예상치 못한 생산성 저하를 경험했습니다.간단한 의존성 추가 작업도 이런 과정을 거쳐야 했거든요:1. "어? 데이터 모듈 정확한 이름이 뭐였지?" 2. settings.gradle 파일을 열어서 모듈명 확인 3. build.gradle에서 implementation(project(":core:data")) 타이핑 4. 오타가 있었다면 빌드 에러로 다시 수정 특히 build-logic 모듈을 도입한 후 Convention Plugin들을 관리하면서, Gradle 설정에 대해 더 깊이 있게 공부하게 되었는데요.그 과정에서 Google의 Now in Android 프로젝트에서 사용하는 '타입세이프 프로젝트 접근자'라는 개념을 알게 되었습니다.이 기능이 위에서 언급.. 2025. 9. 25. [Android] ViewPager2 이중 바인딩 문제 해결 오늘 간단하지만 글을 쓰면서 내용을 남기고자 글을 써봅니다. 최근 영화 상세 정보를 보여주는 App에서 ViewPager2를 사용하여 개발하던 중 API 호출 성공 시,화면이 두 번 깜박거리는 것 같았습니다. 별거 아니겠지 했지만, 로그를 찍어보니 두번 호출 되고 있었습니다.override fun onBindViewHolder(holder: MovieDetailViewHolder, position: Int) { Log.d("Adapter", "onBindViewHolder called for position: $position") val item = items[position] holder.bind(item)} API 호출 한 번에 onBindViewHolder가 두 번 호출되고 있었다!.. 2025. 8. 28. Android Hilt 설정 시 발생하는 5가지 오류와 완벽한 해결 가이드 (Kotlin 2.2.0) Kotlin 1.9 버전인 옛 프로젝트를 Kotlin 2.0.X로 마이그레이션 후Hilt + KSP 버전 호환성 오류가 발생되면서 겪은 과정을 공유 합니다. 그 중에 이전에 겪은 Hilt 오류도 같이 정리하였습니다. ● Hilt 플러그인인 찾을 수 없음Plugin [id: 'com.google.dagger.hilt.android'] was not found in any of the following sources > 원인 : gradle에 선언이 안됨> 해결책 // 프로젝트 레벨 build.gradle.ktsplugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply fa.. 2025. 7. 12. 이전 1 2 3 4 ··· 6 다음 반응형