Android(8)
-
Android Undertow 2.0.42.Final 서버 작동시 오류
회사 프로젝트에서 Undertow를 사용해서 서버를 열어주고 있었다. 이번 프로덕트는 Android OS 환경에서 작동되는 어플리케이션이다. Undertow의 Minor 버전이 올라가면서(2.0.x → 2.1.x) 해결이 된 것 같은데, 나는 2.0.x 버전을 사용중이여서 해당 오류를 해결하기 위해 사용한 방법을 기술하고자 한다. (2.1.x 로 버전을 올리면 안드로이드 앱이 작동을 안하더라.. 이유는 모르겠다. 그냥 어플리케이션이 종료가 된다.) 먼저 AOS환경의 Api Level은 27버전으로 8.1(Oreo MR1)을 사용하고 있다. Undertow를 이용해 개발한 웹 프론트엔드를 띄우고, API 서버를 열어주는 역할을 진행해야하는데 서버는 다 열었으나 POST 요청만 하게 되면 Exception이..
2022.01.27 -
androidx.appcompat lStar Not Found 오류
안드로이드가 com.android.support 지원을 중단함에 따라 androidx.appcompat로 바꿨는데, 바꾸니 이번에는 웬 이상한 리소스를 못찾겠다고 한다. 작성 당일 기준 의존성은 아래와 같다. // androidx dependency implementation("androidx.appcompat:appcompat:1.4.0") implementation("androidx.core:core-ktx:1.7.0") 오류 메시지는 아래와 같이 발생된다. AAPT: error: resource android:attr/lStar not found. 해결을 하기 위해선 Compile, Target SDK 버전을 바꾸거나, 다른 작업을 해줘야한다. 나같은경우는 compileSdkVersion을 높여 해..
2021.12.27 -
Kotlin Android Build시 Rejecting re-init?
안드로이드 프로젝트를 진행하다가, 옛날에는 잘 됐던 부분에서 갑자기 오류가 발생하기 시작했다. 이 오류는 간헐적으로 발생하기도 하였으며, 다시 빌드하여 실행하거나, 다시 켰을 경우 50% 확률로 아래 오류가 발생하는 것이다. rejecting re-init on previously-failed class java.lang.class: java.lang.exceptionininitializererror: (throwable with no stack trace) 당장 실행은 되니 급할 때 무시하고 했었는데, 이제는 슬슬 거슬리기 시작해서 오류를 찾아보기 시작했다. 오류의 원인은 안드로이드에서 com.android.support의 지원을 하지 않고, androidx의 appcompat을 지원하기 시작하면서 발..
2021.12.27 -
Android Databinding Safety Null
Databinding을 통해 데이터를 뿌려줄 때 뿌릴려는 객체 안 데이터가 NULL이라면 그대로 NULL로 표시되는 경우가 있다. (일반적인 경우에는 나오지 않으나 데이터 2개를 +연산자를 통해 합친다던지 할 때 발생하는 것으로 확인된다.) 이 때 이 NULL을 컨트롤하는 방법이다. 1 android:text='@{vm.testObj.strText1 + " " + vm.testObj.strText2}' cs 위와 같이 되어 있을 때(vm은 View Model) testObj 내 strText1, 2가 null로 되어 있다면 'null null' 로 표시된다. 이 현상을 고치는 방법은 2개가 있다. 1. 엘비스 연산자(Elvis Operation) : Kotlin에서 엘비스 연산자를 쓸 때 '?:' 이렇게..
2021.11.17 -
Android <android:Text> Tag Not Working
특정 TextView에 ViewModel에서 사용중인 데이터를 DataBinding을 이용해 TextView에 표시해주는 기능이 동작을 안한다고 전달 받았다. 해당 내용에 대해 확인해봤을 때, ViewModel에 데이터는 정상적으로 들어가 있는데 TextView에는 표시가 안되고 있음을 확인했다. '대체 왜 안들어가지.. 데이터는 있고, 문법도 틀리지 않았는데..' 라고 생각하여 One way binding을 Two way binding으로도 바꿔보고, 이름도 바꿔보고.. 별짓을 다해도 안됐다. '아니 지금 이 TextView가 정상적으로는 작동 하는건가?' 라는 생각에 로그에 해당 TextView에 Text를 뿌려보기도 했다. 역시나 빈값.. 그렇다면, 'TextView Tag에 android:Text..
2021.11.12 -
Android ↔ Typescript 함수 공유 방법 (2)
이 전 글에서 Android Native는 모두 작성하였으니, 이제 TypeScript를 작성하면 작업이 마무리된다. NativeService.ts 라는 Class를 생성해주도록 하자. NativeService.ts 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 declare global { interface Window { native: Native; } } declare global { interface Native { getPref: (key: string, defaultData: string) => Promise; setPref: (key: string, data: string) => Promise; } } export class Nat..
2021.10.27