본문 바로가기
반응형

안드로이드40

[안드로이드] repeatOnLifecycle 을 사용하며. 안녕하세요 오늘은 repeatOnLifecycle 에 관한 이야기를 써보려고 합니다. 먼저, MVVM 패턴을 사용하면서 LiveData -> Flow 로 변경하고자 하는 이유들이 있었습니다. ViewModel 에서는 플랫폼에 의존적인 코드를 쓰면 안된다. 이에 LiveData 는 안드로이드 Jetpack 에서 제공해주는 플랫폼 의존적인 컴포넌트이니 이를 변경하기 위해 Flow 를 사용한다거나, 같은 이슈들입니다. 어떤 것이 더 좋다. 나쁘다가 아니라. 개인에 맞추어서 팀에 맞추어서 조직에 맞추어서 개발을 하면 된다는 것이 결론입니다. (개인적으로 ViewModel 에서 플랫폼 의존적인 코드를 작성하지 않는다는 의미가 저는 모호하고 KMM 같은 클로스 플랫폼을 가지고 오지 않는 이상, 안드로이드에서만 작동.. 2021. 12. 26.
[안드로이드] 힐트(Hilt)를 사용하면서 - @Binds 오늘은 힐트를 사용하면서 @Binds 에 대해 다시 생각을 해보는 기회를 가졌습니다. 먼저 코드를 보겠습니다. @InstallIn(SingletonComponent::class) @Module internal object StationModule { @Provides @Singleton fun provideStationRepository( stationArrivalsApi: StationArrivalsApi, stationApi: StationApi, appDatabase: AppDatabase, preferenceManager: SharedPreferenceManager, @IoDispatcher dispatcher: CoroutineDispatcher, ): StationRepository { ret.. 2021. 12. 19.
[안드로이드] SDK 31 대응 사항 중 PendingIntent 에 관하여 java.lang.IllegalArgumentException: com.~~~, ~~~: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. 현재 저는 안드로이드 스튜디오 Bumblebee, .. 2021. 12. 7.
[안드로이드] Firebase Interceptor - with OkHttp3, Retrofit 안녕하세요. 오늘은 Interceptor에 대해서 얘기를 해보려고 합니다. 여러분들은 개발을 하면서, Firebase를 많이 붙여서 사용을 하실 때가 많은 것 같습니다. 저도 Firebase를 자주 애용하는 편인데요. 인증 서비스는 Firebase 로 하고 비즈니스 로직은 기존 서버에서 진행하는데, Firebase Authentication 으로 발급받은 액세스 토큰을 가지고 통신을 해야 하는 상황이 생깁니다. 여기서 제가 주목한 점은, Retrofit Service Interface 를 정의를 하면서 Token을 가지고 헤더를 구성하는 것이 아니라, Interceptor라는 개념을 이용하여, 자동으로 Authorization 헤더에 토큰 값을 이용하려고 하는 것을 목적으로 두고 있습니다. https:/.. 2021. 11. 25.
반응형