반응형

2022/12/28 4

ThreadException: Only the original thread that created a view hierarchy can touch its views 간단 해결 방법

해당 에러는 안드로이드 메인 스레드 동작 중 UI 관련 업데이트를 할때 발생하는 에러이다. 1. 개념 -. 안드로이드에 국한되는 이슈는 아니며, Microsoft의 OS에서도 동일하다. 스레드에서 UI를 업데이트 하기 위해서는 특별한 동작이 필요하다. 여기서는 가장 간단한 방법을 사용해서 해결해보려한다. 2. 해결 방법 -. 위 스크린샷에서 보면 파란색 부분이 textview의 text를 업데이트하려한다. 이때 UI 스레드와 충돌이 발생하므로 runOnUiThread() {} 를 추가해주면 해결된다. 에러 발생 코드 에러 해결된 코 it.lines().forEach { line -> Log.d(TAG, "sendGet: $line") runOnUiThread() { findViewById(R.id.tex..

코틀린으로 Thread(스레드)를 간단히 사용하는 방법

안드로이드 앱 개발시 thread를 써야하는 경우가 발생한다. kotlin으로 최대한 간단히 사용하는 방법을 소개합니다. 1. 사용법 -. 아래 파란색 코드처럼 thread를 추가하면 됩니다. 예제에서 sendGet() 함수는 스레드 돌리길 원하는 함수명입니다. 1.1 스크린샷 1.2 코드 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val thread = ThreadClass() thread.start() } inner class ThreadClass : Thread() { override fun run() { sendGe..

java.lang.SecurityException: Permission denied (missing INTERNET permission?) 해결방법

안드로이드 앱 개발 중 네트워크를 사용하다보면 아래처럼 구체적으로 permission에러가 발생하는 경우가 발생한다. 이럴때는 AndroidManifest.xml에 퍼미션 한줄만 추가하면 문제가 해결된다. 1. 에러 원인 -. 인터넷을 사용하는 퍼미션없이 앱에서 인터넷 사용 요청을 할 경우 안드로이드 OS에서 거부하게된다. 2. 해결 방법 -. AndroidManifest.xml파일을 열어 아래 파란색처럼 한 줄 추가해준다. 3. 에러문구 Error log FATAL EXCEPTION: Thread-4 Process: com.picker.testapp, PID: 6624 java.lang.SecurityException: Permission denied (missing INTERNET permission..

java.io.IOException: Cleartext HTTP traffic to not permitted 해결 방법.

안드로이드 앱 개발중에 네트워크 기능을 사용하다보면 아래와 같은 에러를 만나곤한다. 한줄만 코드에 추가하면 문제가 해결된다. 1. 에러 원인 및 사유 이에러는 안드로이드에서 보안이 낮은 http연결을 하기때문에 경고를 보내는 것이다. 구글에서는 https를 사용하기를 권장한다. 하지만, 우리는 http 연결을 사용해야하는 경우도 자주 있다. 이럴때는 아래처럼 간단히 AndroidManifest.xml파일에 한 줄만 추가하면 해결된다. 2. 해결 방법 -. AndroidManifest.xml파일을 열어서 아래처럼 파란색 한 줄 추가하면 해결 된다. android:usesCleartextTraffic="true"

반응형