개발/Android 4

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/view/ViewCompat

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/view/ViewCompat support library가 androidx로 마이그레이션이 제대로 되지 않아 생기는 이슈 해당 프로젝트 또는 사용하는 라이브러리에서 support library를 사용하는 경우 발생 gradle.properties에 아래 설정을 추가하는 것으로 해결함 android.useAndroidX=true android.enableJetifier=true 공식 문서: https://developer.android.com/jetpack/androidx?hl=ko#using_androidx_libraries_in_your_project AndroidX 개요..

개발/Android 2023.01.30

Android 10 다크 모드, 다크 테마 적용하기

Android 10부터 다크 모드를 본격적으로 지원하기 시작했습니다. 여기저기 참고해본 결과 제 생각에 가장 간편하게 다크 모드를 적용하는 방법을 공유해보겠습니다. 1. DayNight 테마 적용하기 기본적으로 Light 대신 DayNight 테마만 적용해도 기본 색상(기본 배경색, 기본 글자색 등)이 휴대폰의 다크 모드 옵션을 따라갑니다. DayNight 테마를 적용하는 방법 말고도 style에 forceDarkAllowed 속성의 item을 추가하거나 코드 상에서 setForceDarAllowed로 설정할 수 있습니다. 상황에 따라(ex. 하나의 앱에서 여러 개의 style을 사용하는 경우) 특정 테마에만 다크 모드를 적용할 수 있습니다. // sytles.xml true // in code view..

개발/Android 2020.04.22

Android Context 이해

안드로이드 개발을 하다 보면 Context를 여기저기에서 많이 쓰게 됩니다. 처음에는 Context의 개념이 와닿지가 않아서 그냥 예제 코드를 복붙하는 수준에서 이해하고는 하죠. 흔한 초보 개발자 🙋‍♀️ 🙋‍♀️ 파일 경로를 가져오고 싶어요. 💁‍♂️ context.filesDir로 가져올 수 있습니다. 🙋‍♀️ 이렇게 하면 파일 경로를 가져올 수 있구나! (context가 뭔진 모르겠지만 어쨌든 목적은 달성) 심지어 Activity == Context라고 이해하고 넘어가기도 합니다 // Activity에서는 다음 문장들이 별 차이가 없다 this.getDrawable(R.drawable.my_image) getDrawable(R.drawable.my_image) applicationContext.ge..

개발/Android 2020.01.15