728x90

error 2

[Android] switch error : constant expression required

안드로이드 뿐만 아니라 자바로 프로그래밍 할 때 switch 문을 많이 사용하게 된다.그 때 간혹 "constant expression required" 라는 에러를 마주치는 경우가 있다. 처음 겪는 개발자라면 뭐가 문제인지 몰라서 삽질을 하는 경우가 발생한다.에러가 발생하는 원인은 case에서 사용하는 상수의 경우 반드시 final 로 선언이 되어야 한다는 것이다.아래의 예제에서 RC_SIGN_IN에 final 이 붙어 있지 않으면 위의 에러가 반드시 발생하게 된다.상수로 처리되는 구문의 경우는 무조건 final을 붙여서 변수 값이 변동되지 않도록 한다.public static final int RC_SIGN_IN = 9001; switch (requestCode) { case RC_SIGN_IN: /..

IT/Android 2018.12.04

java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener"

안드로이드 프로그래밍을 위와 같은 에러가 발생하는 경우가 있다.이유는 여러 가지가 있는데, 이번에 겪었던 원인은 ActionBar를 없애기 위해서 스타일에 아래의 것을 적용하면서 발생하는 에러였다. style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar" 위의 코드를 적용하니까 View$OnUnhandledKeyEventListener 에러가 발생했는데, 원인을 찾아보니 API28과 AppCompat API 28, Build Tools 28 버전의 호환성 문제인 것으로 판단되어졌다. 그래서 App::Gradle에서 각각의 것을 모두 27 버전으로 내리고, 위의 테마에서도 Base. 을 삭제하였다. 수정 후compileSdkVersio..

IT/Android 2018.09.20
728x90