티스토리 뷰
밥대생은 현재 Picasso 라이브러리를 사용하고 있습니다.
하지만, 이 라이브러리에는 약간의 문제가 있습니다.
url에 "["이 들어 있는 경우 이미지를 로드하지 못하는 현상이 나타납니다.
utf-8 문자열이 있으면 로드하지 못한다는 것이었습니다.
org.apache.commons.httpclient.util 에 있는 URIUtil.encodeQuery(ChineseURL) 를 쓰면 된다고 합니다.
하지만, 이제 안드로이드에서 해당 라이브러리는 기본 제공되지 않는 것 같습니다.
String urlStr = "http://abc.dev.domain.com/0007AC/ads/800x480 15sec h.264.mp4"; URL url = new URL(urlStr); URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef()); url = uri.toURL();
위 코드를 사용하니, 해결되었습니다.
Picasso는 왜 이런 경우를 기본으로 처리해주지 않는지 궁금해집니다.
분명 나름의 이유가 있을텐데 말이죠.
[2017년 4월 8일 추가]
안드로이드 Picasso 라이브러리가 여러가지 측면에서
다른 이미지 캐싱 라이브러리들보다 깔끔해
개발자인 제 취향에 맞는 것은 부정할 수 없습니다.
하지만, 이런 잔버그들이 위에서 소개해드린 사례 이외에도 몇몇 더 보였습니다.
대부분 unicode에 관련된 오류들이었습니다.
물론, 다른 라이브러리라고 잔버그가 없는 것은 아닐테지만.
박상권님의 블로그(http://gun0912.tistory.com/19)를 보니,
Glide 도입을 고려해보는 것도 좋을 것 같습니다.
Glide 도입 이후에 결과에 대해 한번 더 포스팅해보고자 합니다.
댓글