본문 바로가기

Programming/Android

Glide 라이브러리 간단한 사용방법 + 비트맵으로받기

이번에 이미지가 있는 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();