목록안드로이드(Android)/이슈 및 해결 (27)
Simple&Natural
9/1 내용 업데이트 저장된 Scheme json 파일이 버전별로 모두 동일한 것이 이슈인 것으로 보인다. 때문에 Migration 시 스키마 변경사항을 인지하지 못해 쿼리를 생성하지 않는 이슈인 것 같다. 근데 분명 테이블을 추가했는데 스키마 파일이 동일한 것도 의문이다. 계속 분석해봐야겠다. 기존의 Room은 version=2 인 상황에서 새 테이블을 추가하여 version=3으로 마이그레이션 해야 하는 상황이었다. 1 to 2 의 경우에는 수동으로 마이그레이션을 해주었지만 이번에 간단한 테이블 추가라 AutoMigration을 이용한 상황. 실행을 해보면 아래와 같은 로그만 반복된다. expected: TableInfo{name='recentSearchQueries', columns={query=C..
일반적인 MVVM 패턴에서 ViewModel을 편리하게 사용할 수 있도록 Android는 자체적으로 ViewModel 관련 컴포넌트들을 제공하고 있다. 이때, ViewModel은 생명주기를 가지는데 이는 처음 생성할 때 지정했던 ViewModelStoreOwner에 따라 달라진다. 다음 코드를 보자. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) viewModel = ViewModelProvider( this, MyCommunityListViewModel.Factory( requireAppContainer().communityRepository, requireAppContainer().setti..
cannot access class 'android.support.v4.view.pageradapter' 오류 해결 방법 UltraViewPager라는 외부 라이브러리를 사용하던 도중 다음과 같은 호환성 이슈를 마주하게 되었다. androidx의 PagerAdapter를 구현한 Adapter를 Support.v4의 PagerAdapter를 사용하는 UltraViewPager에 넣어주려고 하였으나 호환이 되지 않는다. 공식문서에 무언가 힌트가 있는지 찾아보자 android.enableJetifier=true를 이용해 기존 타사 라이브러리를 자동으로 이전할 수 있다고 한다. 그럼 내 프로젝트의 gradle.properties를 살펴보자. 응? 해당 flag가 없다. 아래와 같이 한 줄을 추가하고 다시 syn..
예전에도 rx사용시 제대로 try-catch 가 작동하지 않았던 이슈가 있었는데 Interceptor에서는 IOException이 아니면 스레드 외부로 throw를 하지 않는 것이 원인이었다. https://stackoverflow.com/questions/58697459/handle-exceptions-thrown-by-a-custom-okhttp-interceptor-in-kotlin-coroutines Handle exceptions thrown by a custom okhttp Interceptor in Kotlin Coroutines I'm using a custom Interceptor along with Retrofit client in my Android app, that throws an..