Glide Kütüphanesiyle Resim Yükleme

Glide bumptech tarafından geliştirilen, Android için bir Görüntü Yükleyici Kütüphanesidir ve Google tarafından önerilen bir kütüphanedir.

Google I / O 2014 resmi başvurusu da dahil olmak üzere birçok Google açık kaynaklı projelerinde kullanılmıştır.

Animasyonlu GIF desteği sağlar ve görüntü yükleme / önbelleğe alma işlemlerini gerçekleştirir.

Hadi Glide Kütüphanesi özelliklerine bakalım.

 

Glide Kütüphanesi Ekleme

app/build.gradle
 
implementation 'com.github.bumptech.glide:glide:4.9.0'

 

Manifestten İnternet İzni Alımı

AndroidManifest.xml
 
  1. <uses-permission android:name="android.permission.INTERNET"/>
  2. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

 

Basit Kullanımı

MainActivity.class
 
  1. Glide.with(context)
  2. .load("https://iamcodder.com/wp-content/uploads/2019/02/ssssssssssss.jpg")
  3. .into(ivImg);
  • with içerisine uygulamanın contextini ekliyoruz.
  • load ile resim linkini yazıyoruz.
  • into ile de hangi imageView içerisine ekleneceğini yazıyoruz.

 

Resmi Ortalamak İçin

MainActivity.class
 
.centerCrop();

 

Resmi Boyutlandırmak İçin

MainActivity.class
 
.override(720, 1280);

 

Resim İndirme İşlemi Başarısız Olursa Başka Hata Resmi Eklemek İçin

.error(R.drawable.imagenotfound);
  • Hata resmi için gösterilecek resmi Drawable içerisine atmayı unutmayın!

 

Resim İndirirken Ekranda ProgressBar Gösterme (CallBack Oluşturma)

MainActivity.class
 
                .listener(new RequestListener<Drawable>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                        progressBar.setVisibility(View.GONE);
                        Toast.makeText(getApplicationContext(),"ERROR",Toast.LENGTH_SHORT).show();
                        return false;
                    }
                    @Override
                    public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                        Toast.makeText(getApplicationContext(),"SUCCES",Toast.LENGTH_SHORT).show();
                        progressBar.setVisibility(View.GONE);
                        return false;
                    }
                })
.into(imageView);
  • ProgressBar’ı eklediğim kısmı buraya yazmadım.Onu siz kendiniz eklersiniz.
  • ProgressBar ekledikten sonra en başta görünür hale getirmeyi unutmayın.(VISIBLE)

 

Fade Animasyonuyla Resim Göstermek İçin

MainActivity.class
 
.transition(DrawableTransitionOptions.withCrossFade())

 

 

Kaynakça :