에몽이

글라이드 사용법 본문

android

글라이드 사용법

ian_hodge 2017. 1. 15. 16:26


Glide는 3rd party 라이브러리로, 이미지 로딩을 아주 쉽고 간편하게 해주는 라이브러리다.


https://github.com/bumptech/glide <- 자세한내용은 여길 참조하기 바람


원래 Volley를 사용하여 로딩했었으나, Glide를 사용한 이후로 Volley를 쳐다보지도 않는다.


준비는 Gradle파일에


compile 'com.github.bumptech.glide:glide:3.7.0'


을 추가시켜주면 끝


버젼에 따라 다르긴하지만 2016. 06. 11시점으로 최신버전은 3.7.0이다.


사용방법은 


-코드


1
Glide.with(this).load(이미지경로).into(imageView명);


거짓말같지만 이게 다이다. 

객체 선언자체가 필요가 없다.

결과는 아래와 같다.

-결과



또한 Glide를 지원하는 라이브러리가 있는데 Glide로 로딩한 이미지를 이쁘게 만들어준다.

이를 사용하기 위해 Gradle에 다음 라이브러리를 추가하도록 한다.

 compile 'jp.wasabeef:glide-transformations:1.0.6@aar'

백문이불여일견이라 했으니 아래 예제를 보도록하자.

-코드


1
Glide.with(this).load(이미지경로).bitmapTransform(new CropCircleTransformation(new CustomBitmapPool())).into(ImageView명);

-결과



코드를 보면 new CropCircleTransformation(new CustomBitmapPool()) 이렇게 BitmapPool을 생성해주는걸 볼 수 있는데, 이는 이 라이브러리를 사용하기 위한 인자로 클래스를 생성하여 넣어주기 위함이다.


위 클래스는 빈클래스이므로 아래와 같이 생성하면된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class CustomBitmapPool implements BitmapPool {
    @Override
    public int getMaxSize() {
        return 0;
    }
 
    @Override
    public void setSizeMultiplier(float sizeMultiplier) {
 
    }
 
    @Override
    public boolean put(Bitmap bitmap) {
        return false;
    }
 
    @Override
    public Bitmap get(int width, int height, Bitmap.Config config) {
        return null;
    }
 
    @Override
    public Bitmap getDirty(int width, int height, Bitmap.Config config) {
        return null;
    }
 
    @Override
    public void clearMemory() {
 
    }
 
    @Override
    public void trimMemory(int level) {
 
    }
}

Override한 함수들을 잘 안다면 수정해도 좋으나, 모르면 그냥 기본상태로 놔두고 사용하도록 한다.

하지만 간편한 이면에 단점이 존재한다. Glide라이브러리는 자동으로 캐싱을 하기 때문에 이미지 새로고침이 실시간으로 일어나지 않는다는점이다.
따라서 이를 수동으로 새로고침 하려면
1
2
3
Glide.with(mActivity).load(이미지경로)
        .signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
        .into(이미지뷰);
이렇게 사용하면된다!

음... 끝



출처: http://galmaegi74.tistory.com/2 [galmaegi]

'android' 카테고리의 다른 글

서비스 예제  (0) 2017.01.15
글라이드 bitmap으로 저장  (0) 2017.01.15
서비스가 실행중인지 확인하는 메소드  (0) 2017.01.15
httpconnect 옵션들  (0) 2017.01.12
라이브러리  (0) 2017.01.12
Comments