Java
-
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default optionAndroid/Error 2022. 8. 17. 11:28
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option gradle 빌드시 해당에러가 발생하는 경우가 있습니다. 해당에러가 발생하는 이유는 @JvmDefault 해당 어노테이션이 Deprecated 되면서 kotlin의 interface 의 defalut method가 생성되지 않아서 컴파일시 문제가 발생하는 현상이 었습니다. 해결방법은 -Xjvm-default 옵션을 사용하는 해결하는것 입니다. build.gradle 의 kotlinOptions 에 freeCompilerArgs = ['-Xjvm-default=enable'] 옵션을 추가하면 정상적으로 컴파일 되는것을 확인 할 수 ..
-
java.lang.NoSuchMethodException: ...<init>(...)Android/Error 2021. 3. 18. 16:13
java.lang.NoSuchMethodException: dev.dnights.baseViewHolder. (android.view.View) java 또는 kotlin 에서 getDeclaredConstructor() 를 이용해서 class를 생성할때 위와 같은 에러가 발생할경우 해당 생성자가 있는지 확인하고 proguard 나 dexguard 를 사용하고 있다면 아래의 예제처럼 예외처리를 하고 있는지 확인하여야 한다. -keepclassmembers class * extends dev.dnights.BaseViewHolder { (android.view.View); } [참고링크] emflant.tistory.com/52 Constructor 클래스의 getConstructor 와 getDeclar..
-
Execution failed for task ':app:compileProductionReleaseJavaWithJavac'.> javax/xml/bind/JAXBExceptionAndroid/Error 2021. 2. 9. 15:40
> Task :app:compileProductionReleaseJavaWithJavac FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:compileProductionReleaseJavaWithJavac'. > javax/xml/bind/JAXBException Execution failed for task ':app:compileProductionReleaseJavaWithJavac'. > javax/xml/bind/JAXBException 터미널에서 빌드중 위와 같은 에러가 발생하는 경우가 있다. 이경우는 JAXBException 이 java8에서 지원하는데 사용하는 PC..
-
Caused by: java.lang.IllegalArgumentException: Unknown pattern character 'Y'Android/Error 2020. 5. 21. 10:38
Java 버전의 문제입니다. java 8 이상에서는 Y 에 대하여 DateFormat 대소문자 구분을 하지 않지만, java7 이하에서는 Y 에 대하여 DataFormat 대소문자 구분을 합니다. 해당 문제로 Android 낮은버전에서 문제가 발생하수도 있습니다. 대문자 Y 를 소문자 y 로 변경하면 해결됩니다. Before private val sdfYYYY_MM_dd_a_hh_mm_ss = SimpleDateFormat("YYYY. MM. dd a hh:mm", Locale.US) After private val sdfYYYY_MM_dd_a_hh_mm_ss = SimpleDateFormat("yyyy. MM. dd a hh:mm", Locale.US)
-
JAVA String 객체 와 String 리터럴(literal)Domain knowledge 2019. 10. 16. 23:23
String strA = "Hello World"; String strB = new String("Hello World"); Java 에서 String 을 생성하는 방법은 위의 2가지가 있습니다. 기본적으로 print 문을 통해 출력시 같은 내용이 출력 됩니다. 출력 내용은 동일하나 내부 메모리상으로는 차이점을 보입니다. String strA = "Hello World"; 위와 같이 선언한 경우 상수풀에 저장된 메모리를 확인하여 동일한 데이터가 있다면 해당 데이터 주소를 참조합니다. String strB = new String("Hello World"); 위와 같이 선언한 경우 heap 메모리 상에 새로운 영역을 할당하여 해당내용을 저장후 메모리 주소를 참조합니다. import org.junit.Test..
-
러너블(Runnable)이란?Domain knowledge 2019. 10. 5. 00:03
https://github.com/DNights/CoroutinesSampleTest DNights/CoroutinesSampleTest Android CoroutinesSampleTest. Contribute to DNights/CoroutinesSampleTest development by creating an account on GitHub. github.com 추가적으로 Runnable을 구현 해보았습니다. https://dnight.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EC%8A%A4%EB%A0%88%EB%93%9C?category=843230 안드로이드 스레드 (Android Thread) https://github...