Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में Glide लाइब्रेरी के साथ काम कैसे करें?

लोकप्रिय इमेज लोडिंग लाइब्रेरी Glide का उपयोग करके इमेज लोडिंग, प्लेसहोल्डर, एरर हैंडलिंग, रिसाइज, रोटेशन का पूरा ट्यूटोरियल।

निर्भरता जोड़ें

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

चरण 1: लेआउट

res/layout/activity_main.xml - 6 बटन और एक ImageView:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">
    <Button android:id="@+id/btnDrawable" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_alignParentStart="true"
        android:layout_centerVertical="true" android:text="Drawable" />
    <ImageView android:id="@+id/imageView" android:layout_width="200dp"
        android:layout_height="200dp" android:layout_centerHorizontal="true"
        android:src="@mipmap/ic_launcher" />
    <Button android:id="@+id/btnPlaceholder" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_alignBaseline="@id/btnUrl"
        android:layout_alignBottom="@id/btnUrl" android:layout_centerHorizontal="true"
        android:text="Placeholder" />
    <Button android:id="@+id/btnUrl" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_alignBaseline="@id/btnDrawable"
        android:layout_alignBottom="@id/btnDrawable" android:layout_alignParentEnd="true"
        android:text="URL" />
    <Button android:id="@+id/btnError" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_below="@id/btnDrawable"
        android:layout_alignParentStart="true" android:layout_marginTop="12dp"
        android:text="Error" />
    <Button android:id="@+id/btnRotate" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_alignBaseline="@id/btnError"
        android:layout_alignBottom="@id/btnError" android:layout_centerHorizontal="true"
        android:text="Rotate" />
    <Button android:id="@+id/btnResize" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_alignBaseline="@id/btnRotate"
        android:layout_alignBottom="@id/btnRotate" android:layout_alignParentEnd="true"
        android:text="Resize" />
</RelativeLayout>

चरण 2: MainActivity

src/MainActivity.java:

package app.com.sample;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    ImageView imageView;
    Button btnDrawable, btnUrl, btnError, btnPlaceholder, btnResize, btnRotate;

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

    private void initView() {
        imageView = findViewById(R.id.imageView);
        btnDrawable = findViewById(R.id.btnDrawable);
        btnUrl = findViewById(R.id.btnUrl);
        btnPlaceholder = findViewById(R.id.btnPlaceholder);
        btnResize = findViewById(R.id.btnResize);
        btnError = findViewById(R.id.btnError);
        btnRotate = findViewById(R.id.btnRotate);

        btnDrawable.setOnClickListener(this);
        btnPlaceholder.setOnClickListener(this);
        btnUrl.setOnClickListener(this);
        btnResize.setOnClickListener(this);
        btnError.setOnClickListener(this);
        btnRotate.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btnDrawable:
                Glide.with(this).load(R.drawable.image).into(imageView);
                break;
            case R.id.btnPlaceholder:
                Glide.with(this).load("www.journaldev.com")
                    .placeholder(R.drawable.placeholder).into(imageView);
                break;
            case R.id.btnUrl:
                Glide.with(this).load("https://example.com/image.png")
                    .placeholder(R.drawable.placeholder).into(imageView);
                break;
            case R.id.btnError:
                Glide.with(this).load("invalid_url")
                    .placeholder(R.drawable.placeholder)
                    .error(R.drawable.error).into(imageView);
                break;
            case R.id.btnResize:
                Glide.with(this).load(R.drawable.image)
                    .apply(new RequestOptions().override(200, 200)).into(imageView);
                break;
            case R.id.btnRotate:
                Glide.with(this).load(R.drawable.image).into(imageView);
                imageView.setRotation(90);
                break;
        }
    }
}

Glide मुख्य विशेषताएं

विशेषताकोड
प्लेसहोल्डर.placeholder(R.drawable.placeholder)
एरर इमेज.error(R.drawable.error)
फॉलबैक.fallback(R.drawable.fallback)
रिसाइज.apply(new RequestOptions().override(w, h))
सेंटर क्रॉप.centerCrop()
सेंटर इनसाइड.centerInside()
सर्कुलर.apply(RequestOptions.circleCropTransform())
राउंडेड कॉर्नर.apply(RequestOptions.bitmapTransform(new RoundedCorners(16)))
कैशिंग.diskCacheStrategy(DiskCacheStrategy.ALL)
लिस्टनर.listener(new RequestListener<>() {...})

Glide vs Picasso

  • Glide: डिफ़ॉल्ट रूप से GIF सपोर्ट, बेहतर मेमोरी प्रबंधन, लाइफसाइकल अवेयर
  • Picasso: सरल API, छोटा आकार
  • आधुनिक ऐप्स के लिए Glide अनुशंसित
  1. एंड्रॉइड में SharedPreferences का उपयोग कैसे करें? एंड्रॉइड में SharedPreferences का उपयोग कैसे करें?

    एंड्रॉइड में SharedPreferences — की-वैल्यू डेटा स्टोर करने का आसान तरीका SharedPreferences एंड्रॉइड में छोटे प्राइमिटिव डेटा (बूलियन, इंट, फ्लोट, लॉन्ग, स्ट्रिंग, स्ट्रिंग सेट) को XML फाइल में प्राइवेटली स्टोर करने का मानक API है। यह रिमेंबर मी लॉगिन, यूज़र सेटिंग्स, ऑनबोर्डिंग फ्लैग आदि के लिए आदर्

  1. एंड्रॉइड ऐप में कैमरे के साथ कैसे काम करें? एंड्रॉइड ऐप में कैमरे के साथ कैसे काम करें?

    इंटेंट के साथ कैमरा ऐप लॉन्च करके फोटो कैप्चर करें यह उदाहरण दर्शाता है कि MediaStore.ACTION_IMAGE_CAPTURE इंटेंट का उपयोग करके डिवाइस कैमरा कैसे खोलें और कैप्चर की गई फोटो प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में ImageView और बटन res/l

  1. Android में ScrollView का उपयोग कैसे करें? Android में ScrollView का उपयोग कैसे करें?

    Android में ScrollView का उपयोग यह उदाहरण दर्शाता है कि लंबी सामग्री को स्क्रॉल करने योग्य बनाने के लिए ScrollView का उपयोग कैसे करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से प्रोजेक्ट बनाएं। चरण 2: ScrollView में कई बटन जोड़ें (activity_main.xml) <?xml version=1.0 e