본문 바로가기

프로그래밍/Android

(8)
코틀린 String.toInt() Unresolved reference EditText 의 수치값을 Int 변수로 가져오려는 아주 간단한 코드에서 자꾸 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 에러가 발생했다. 코드는 다음과 같다. val n:Int = binding.editBunja.text.toInt() edit_bunja 에서 text 를 가져와서 toInt 로 정수형으로 바꾸려고 하는데, 왜 에러가 발생하는 걸까 한참을 고민했다. 결론은, editBunja.text 가 String 이 아니라, Editable 이라는 다른 type의 값이어서, 이걸 다시 String 으로 먼저 바꿔 주어야 했다. val n:Int = bind..
Android : The emulator process for AVD Pixel_XL has terminated. 안드로이드 테스트를 위한 가상머신을 pixel xl 로 만들어서, 실행을 해보니 다음과 같은 에러가 발생했다. AVD Manager (!) The emulator process for AVD Pixel_XL_API_30 has terminated. 문제해결을 위해서 메시지를 구글링해 보았더니 스택오버플로우에 답변이 검색됐는데( https://stackoverflow.com/questions/67346232/android-emulator-issues-in-new-versions-the-emulator-process-has-terminated ), 너무나도 다양한 원인이 있는 것 같았다. 여러 답변 중에서 가장 도움이 된 것은, idea.log 의 로그를 확인해 보라는 것이었다. C:\Users\me\App..
adb.exe not a valid win32 application. CreateProcess error 안드로이드 스튜디오를 열었는데, 한참통안 먹통이 되면서, 가상 에뮬레이터 기기들이 뜨지 않았다. 안드로이드 스튜디오의 맨 아래 상태메시지에는 android sdk platform-tools 중의 하나인 adb.exe 의 CreateProcess 의 실행오류 메시지가 발생했다. adb.exe 가 정상적인 Win32 어플리케이션이 아니라는 메시지였다. 영문메시지로는 아마도 adb.exe is not a valid Win32 application. 으로 나오는 것 같고. 우선 시도한 것은 안드로이드 스튜디오의 Tools - SDK Manager 를 열어서, platform-tools 를 삭제했다가 재설치 해보는 것이었다. 그런데, 왜인지 platform-tools 삭제하는 부분에서 adb.exe 를 중지하는데..
Volley : GET request 에서는getParams 는 불리지 않는다. 안드로이드 volley 라이브러리를 사용하여 GET request 를 이용하여 api 를 호출하여 결과를 받고 싶었다. 그래서 가장 심플한 예제 ( https://github.com/mike-jung/kotlin-android/tree/master/part3/chapter2/MyRequest )에서 url 만 바꾸어서 테스트해 보았다. 일단 url 자체의 호출은 성고하고, 아규먼트들을 넘기기 위해서, getParams 오버라이드 함수에 HashMap 객체를 만들고, 하드코딩으로 변수명과 변수값을 추가하고 테스트했다. 한참 테스트했으나, 계속 아규먼트들이 넘어가지 않은 것 같은 결과가 나왔다. 검색하여 보니, getParams 함수를 오버라이드하는 방법은 POST와 PUT request 에서만 유효하고, ..
[ANDROID] java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed assets 에 파일을 집어넣고, 해당 파일을 앱에서 읽는 부분에서 아래와 같은 에러가 발생했다. java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed 문제의 해결은 gradle build 옵션에서 특정 확장자를 압축하지 말라는 지시를 추가하여 해결되었다. build.gradle (:app) android { ... aaptOptions { noCompress "tflite" } }
[Android] Error type 3 Activity class does not exist. 너무 한참 고생을 해서 노트를 남김. 분명 이전에 기기에 잘 설치해서 돌았던 앱을 수정하여 다시 빌드하고 실행하였는데, 제목과 같은 에러 메시지가 나오면서 도대체 실행이 되지 않았다. 에러 메시지는 다음과 같다. 02/20 15:24:28: Launching 'app' on LGE Nexus 5X. $ adb shell am start -n "org.tensorflow.lite.examples.classification/org.tensorflow.lite.examples.classification.ClassifierActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Error while executing: ..
Kotlin 북마크 코틀린 학습자료 https://github.com/igorwojda/kotlin-coding-puzzle : 코틀린 코딩 퍼즐, android studio 프로젝트로 열어서 test 폴더 아래에 주어진 문제를 풀고, test 를 실행하여 확인한다.
[Android|Kotlin] Gradle Sync Issue: Android Gradle plugin supports only Kotlin Gradle plugin version ... and higher 안드로이드 스튜디오를 사용하여, 코틀린을 좀 배워보려고, 인터넷에 있는 예제를 받아서 빌드해 보려고 하는데 에러가 발생했다. 처음 접하는 환경이라서 이 복잡한 메시지가 무슨 말인지, 무엇을 고쳐야 하는 것인지 이해할 수 없었다. 이를 기록한다. 예제 폴더를 안드로이드 스튜디오에서 Open 으로 열었고, 무작정 Run 버튼을 눌러보았다. 프로젝트를 한참 빌드하다가 다음과 같은 메시지의 에러 윈도우가 떴다. Android Gradle Plugin Update Required ------------------------------------- The Project is using an imcompatible version of Android Gradle plugin. To continue opening the..