2025/02 4

[Compose] 의존성 주입 (Dependency Injection) (ft.hilt) - 1

우선, 라이브러리 적용이 필요합니다 (dagger, hilt)[versions]//...daggerVersion = "2.48"hiltVersion = "1.2.0"retrofitVersion = "2.9.0"gsonVersion = "2.10.1"[libraries]//...dagger-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "daggerVersion" }hilt-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hiltVersion" }androidx-gson = { group = "com.googl..

🤖 Compose 2025.02.11

[Compose] 안정성 stability

안정성에 관해서도 가장 중요한 키워드는 Smart Recomposition 같아요  Smart Recomposition- composition 함수에서 사용되는 데이터가 변경된 데이터의 함수만 재호출 즉 일부분의 ui만 업데이트 - 성능 최적화  이 때 compose는 필요한 recomposition임을 어떻게 구분할까 ?  -> paramater로 구분 크게 3가지로 나눠본다면  Stable parameters - 변경 시 컴포지션에서 추적이 가능하기 때문에 smart recomposition이 가능 - 즉, 변경 사항이 없다면 compose는 skip Unstable parameters - 변경 시 컴포지션에서 추적이 불가 -> 데이터의 변경 사항의 유무와 관계 없이 무조건 Recomposition-..

🤖 Compose 2025.02.09

[Android] ViewPager2 감도 조절하기

viewpager2를 카드뷰처럼 넘기고 싶은데 너무 휙휙 돌아가지는 거 같아서 서치하다 찾은 방법이다  ViewPager2는 ViewPager와 다르게 RecyclerView를 기반이라 recyclerview내에 스크롤 감도를 조절하는 mTouchSlop을 변경하면 된다  fun ViewPager2.reduceDragSensitivity() { val recyclerViewField = ViewPager2::class.java.getDeclaredField("mRecyclerView") recyclerViewField.isAccessible = true val recyclerView = recyclerViewField.get(this) as RecyclerView val touchS..

📱 Android 2025.02.08

[Android] AAC의 LiveData, ViewModel의 LiveData

AAC- 안드로이드 아키텍처 컴포넌트(Android Architecture Components)로 앱 개발을 더 쉽고 유지보수 가능하게 해주는 구성요소들의 모음 LiveData는 AAC의 일부로 아래와 같은 특성을 가진다Observer 패턴 기반의 데이터 홀더로, 데이터를 감싸고 UI와 연결할 수 있음.LifecycleOwner(Activity, Fragment 등)를 인식해, UI Controller가 종료되면 자동으로 Observer를 제거해 메모리 누수를 방지함 ViewModel에서 쓰느냐 Activity, Fragment에서 쓰느냐의 차이는 바로 lifecycle만약 ViewModel에서 사용하면 ViewModel의 Lifecycle을 따르기 때문에, 화면 회전 시에도 데이터가 유지즉 , View..

📱 Android 2025.02.04