일모도원(日暮途遠) 개발자
[Android오류수정] Glide (Failed to connect or obtain data, status code: -1) 본문
안드로이드 개발/오류수정
[Android오류수정] Glide (Failed to connect or obtain data, status code: -1)
달님개발자 2022. 9. 27. 13:35
Glide문서에 있는 기본 예제를 실행해 봤는데 에러가 나고 이미지가 보이지 않는다.
ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);
에러 내용
W/Glide: Load failed for http://goo.gl/gEgYUd with size [131x131]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There was 1 root cause:
com.bumptech.glide.load.HttpException(Failed to connect or obtain data, status code: -1)
call GlideException#logRootCauses(String) for more detail
Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE
원인은 인터넷에 있는 이미지인데 현재 앱에서 인터넷 권한이 없고, 또 http://goo.gl/gEgYUd 이 이미지 경로가 https가 아닌 http이다. 안드로이드는 http는 기본적으로 안되게 막아두었다고 한다. usesCleartextTraffic을 true로 주면 http에 있는 경로도 접근이 가능하다.
해결책은 manifest의 applicatiion 태그에 usesCleartextTraffic을 true로 추가하고, 또 인터넷 권한을 주자.
android:usesCleartextTraffic="true" 을
<uses-permission android:name="android.permission.INTERNET" />