본문 바로가기
Android

[Android] 글라이드(glide) 이용한 사진 가져오기

by eyoo 2022. 7. 20.

글라이드는 안드로이드의 아주 효율적인 오픈소스 이미지 로딩 프레임이다.

 

글라이드 웹페이지:

https://github.com/bumptech/glide

 

GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling

An image loading and caching library for Android focused on smooth scrolling - GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling

github.com

 

 

글라이드를 사용하기 위해 Gradle에 추가한 뒤 Sync now 한다.

 

repositories {
  google()
  mavenCentral()
}

dependencies {
  implementation 'com.github.bumptech.glide:glide:4.13.2'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
}

 

 

 

글라이드 뷰 사용 예시:

 

리사이클러뷰 어뎁터에서 연결할때

 

@Override
public void onBindViewHolder(@NonNull PhotoAdapter.ViewHolder holder, int position) {
    Photo photo = photoList.get(position);

    holder.txtTitle.setText(photo.title);
    holder.txtId.setText(photo.id+"");
    holder.txtAlbumId.setText(photo.albumId+"");

    // 글라이드 라이브러리 사용
    GlideUrl url = new GlideUrl(photo.thumbnailUrl,
            new LazyHeaders.Builder().addHeader("User-Agent", "Android").build());
    Glide.with(context).load(url).into( holder.imgThumb );

 

 

 

이미지를 눌렀을때 인텐트를 통해 큰 이미지가 나오게 할때

 

public class PhotoActivity extends AppCompatActivity {

    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_photo);

        String imgUrl = getIntent().getStringExtra("url");

        imageView = findViewById(R.id.imageView);

        // 글라이드 라이브러리를 이용해서 이미지뷰에 표시한다.

        GlideUrl url = new GlideUrl(imgUrl,
                new LazyHeaders.Builder().addHeader("User-Agent", "Android").build());
        Glide.with(PhotoActivity.this).load(url).into( imageView );
    }
}

 

 

더보기

 

어뎁터에서의 인텐트 코드:

 

imgThumb.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // todo 썸네일 누르면, 큰 이미지 나오는 액티비티실행

        Intent intent = new Intent(context, PhotoActivity.class);

        int index = getAdapterPosition();
        Photo photo = photoList.get(index);

        intent.putExtra("url", photo.url);

        context.startActivity(intent);

    }
});

 

 

 

 

 

 

 

 

댓글