آموزش Glide در اندروید
بخش اول (راه اندازی گلاید)
دانلود تصاویر از اینترنت و نمایش آنها در برنامه، یکی از کارهای بسیار رایج در برنامههای اندرویدی است که به همان اندازهی رایج بودنش، طاقت فرسا نیز میباشد. در این مورد، کتابخانههایی با موضوع Image Loader پا به میدان میگذارند.
مقدمهای بر گلاید (Glide)
کتابخانهی Glide، یکی از قدرتمندترین کتابخانههای مربوط به Image Loading یا بارگذاری تصویر است که در زمینهی بارگذاری تصاویر از سرور، بیشتر مورد استفاده قرار میگیرد. Glide یک فریم ورک سریع، کارآمد و Open Source برای مدیریت منابع رسانهای و بارگذاری تصویر (Image Loading) جهت استفاده در برنامه نویسی اندروید میباشد که موارد زیر را پوشش میدهد:
- media decoding
- memory and disk caching
- resource pooling into a simple and easy to use interface
گلاید، از fetching ، رمزگشایی (decoding) و نمایش ویدیوهای بیصدا، تصاویر و (GIF) پشتیبانی میکند و از جمله امکانات مفید این کتابخانه، قابلیت کشکردن تصاویر است. برای نمایش تصویر میتوانید بهصورت آدرس url و یا فراخوانی تصاویر از drawable ، فایل و .. استفاده کنید.
فراخوانی در پروژه
1. Gradle
به صورت زیر sync کنید.
repositories { mavenCentral() google() } dependencies { implementation 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0' }
2. Maven
<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>glide</artifactId> <version>4.8.0</version> </dependency> <dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>compiler</artifactId> <version>4.8.0</version> <optional>true</optional> </dependency>
تنظیم کردن مقادیر ضرروری
دسترسیهای لازم:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
موارد لازم برای اضافه کردن در Proguard (درصورت استفاده از Proguard):
-keep public class * implements com.bumptech.glide.module.GlideModule -keep public class * extends com.bumptech.glide.module.AppGlideModule -keep public enum com.bumptech.glide.load.ImageHeaderParser$** { **[] $VALUES; public *; } # for DexGuard only -keepresourcexmlelements manifest/application/meta-data@value=GlideModule
خیلی ممنون