이번에 이미지가 있는 URL을 파싱해와서 이 URL을 어떻게 이미지로 받아서 사용할 수 있을까 하다가 Glidle 라이브러리를 써서 이미지가 있는 URL을 이미지로 변환하여 사용할 수 있었다.
물론 Glide말고도 스퀘어사에서 만든 Picasso 라이브러리도 있다. 둘이 비교하면 용량이적고 빠른건 Glide이고 용량과 상대적으로 조금더 느리지만 화질이 좋은건 Picasso라고한다. 잘 비교해서 더 필요한걸 사용하면 좋을 것 같다.
Glide 사용방법에 대해 간단하게 정리해보았다.
Glide.with(this).load(imgUrl).into(imgView); //Glide을 이용해서 이미지뷰에 url에 있는 이미지를 세팅해줌
* imgUrl > String형 이미지 주소를 가짐
* imgView > imgView라는 id를 가진 이미지뷰
다음은 glide 의 여러 기능이다.
- override()
: 지정한 이미지의 크기만큼만 불러올수 있다. 이를 통해 이미지 로딩 속도를 최적화 할수있다.
- placeholder()
: 이미지를 로딩하는동안 처음에 보여줄 placeholder이미지를 지정할 수 있다.
- error()
이미지로딩에 실패했을경우 실패 이미지를 지정할 수 있다.
- thumbnail()
: 지정한 %비율 만큼 미리 이미지를 가져와서 보여준다.
0.1f로 지정했다면 실제 이미지 크기중 10%만 먼저 가져와서 흐릿하게 보여준다.
- asGif()
: 정적인 이미지 뿐만 아니라 GIF도 로딩할수 있다.
이밖에 centerCrop() , ImageSizeChange, CircleFrame 등의 기능이 있다..
출처: https://gun0912.tistory.com/17 [박상권의 삽질블로그]
placeholder에 들어간 스피너는 Loding gif이다.
Glide.with(context).load(model.getSendImage()).thumbnail(0.1f).placeholder(R.drawable.loading_spinner).into(holder3.sendImageVIew2);
마지막으로 glide에서 url로 받아오는경우 비트맵으로 변환시키고 싶은 경우는
다음과 같다. (비동기)
Glide.with(this)
.asBitmap().load(mPhotoList.get(0))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object o, Target<Bitmap> target, boolean b) {
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, Object o, Target<Bitmap> target, DataSource dataSource, boolean b) {
Log.d(TAG, "비트맵으로 변환됨 => " + bitmap);
mPhoto0ImageView.setImageBitmap(bitmap);
mPhotoBitmapList.add(bitmap);
return false;
}
}
).submit();
'Programming > Android' 카테고리의 다른 글
개발 모드시 광고가 노출되지 않을때, Failed to load ad: 3 (0) | 2019.08.18 |
---|---|
App is not indexable by Google Search (0) | 2019.08.10 |
Get your apps ready for the 64-bit requirement (0) | 2019.08.10 |