Библиотека загрузки изображений Fresco в Android с примером

Опубликовано: 1 Декабря, 2021

Fresco - одна из самых известных библиотек загрузки изображений с URL-адресов в Android. Это мощная библиотека для отображения и управления изображениями из URL-адресов. Эта библиотека может загружать изображения с устройств пользователей, серверов и других локальных источников. Самая важная особенность этой библиотеки - показывать изображение-заполнитель, когда изображение из URL-адреса загружается очень долго. Наряду с этим мы можем использовать изображение с ошибкой, когда изображение не отображается из-за какой-либо проблемы. Для сохранения данных и ЦП эта библиотека использует три уровня кеш-памяти, два из которых находятся в памяти, а один - во внутренней памяти. Вы можете проверить официальную документацию Fresco.

Реализация этой библиотеки

Ниже приводится образец изображения, чтобы понять, что мы собираемся делать в этой статье. Обратите внимание, что мы собираемся реализовать этот проект на языке Java.

Пошаговая реализация

Шаг 1. Создайте новый проект

Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать / запустить новый проект в Android Studio». Обратите внимание, что выберите Java в качестве языка программирования.

Шаг 2: Добавьте зависимость библиотеки Fresco Image в файл build.gradle

Перейдите к скриптам gradle, а затем к уровню build.gradle (модуль). Добавьте строку ниже в файл build.gradle в разделе зависимостей.

implementation ‘com.facebook.fresco:fresco:2.3.0’

Шаг 3. Добавьте разрешение в Интернет в файл AndroidManifest.xml

Перейдите в приложение> Манифест, чтобы открыть файл манифеста.

XML

<? xml version = "1.0" encoding = "utf-8" ?>
< manifest xmlns:android = " http://schemas.android.com/apk/res/android "
package = "com.gtappdevelopers.frescoimageloading" >
<!--Permission for internet-->
< uses-permission android:name = "android.permission.INTERNET" />
<!--Permission for Network State-->
< uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" />
< application
android:allowBackup = "true"
android:icon = "@mipmap/ic_launcher"
android:label = "@string/app_name"
android:roundIcon = "@mipmap/ic_launcher_round"
android:supportsRtl = "true"
android:theme = "@style/Theme.FrescoImageLoading" >
< activity android:name = ".MainActivity" >
< intent-filter >
< action android:name = "android.intent.action.MAIN" />
< category android:name = "android.intent.category.LAUNCHER" />
</ intent-filter >
</ activity >
</ application >
</ manifest >

Шаг 4. Создайте новый SimpleDraweeView в своем activity_main.xml

Перейдите к приложению> res> layout, чтобы открыть файл activity_main.xml. Ниже приведен код файла activity_main.xml.

XML

<? xml version = "1.0" encoding = "utf-8" ?>
< androidx.constraintlayout.widget.ConstraintLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
tools:context = ".MainActivity" >
<!--To implement ImageView-->
<!--Constraints are given to align image
centrally of the view-->
<!--Scale type centre crop is given to
crop image centrally-->
< com.facebook.drawee.view.SimpleDraweeView
android:id = "@+id/idSDimage"
android:layout_width = "match_parent"
android:layout_height = "300dp"
android:layout_margin = "10dp"
android:scaleType = "centerCrop"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintLeft_toLeftOf = "parent"
app:layout_constraintRight_toRightOf = "parent"
app:layout_constraintTop_toTopOf = "parent" />
</ androidx.constraintlayout.widget.ConstraintLayout >

Шаг 5. Инициализируйте и используйте SimpleDraweeView в файле MainActivity.java

Перейдите к приложению> java> имя вашего пакета приложений> файл MainActivity.java. Ниже приведен код файла MainActivity.java. Комментарии добавляются внутри кода для более подробного понимания кода.

Ява

import android.net.Uri;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.view.SimpleDraweeView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
// initialize Fresco before setting view.
Fresco.initialize( this );
setContentView(R.layout.activity_main);
// below line is having image url to be added..
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.idSDimage);
draweeView.setImageURI(imageUri);
}
}

Выход:

Note: In case you are updated to Android Studio 4 you may face this error (NDK at ~/Library/Android/sdk/ndk-bundle did not have a source.properties file) during building the project. Please refer to this for fixing the error. 

Хотите более динамичную и конкурентную среду для изучения основ Android?
Щелкните здесь, чтобы перейти к уникальному руководству, составленному нашими экспертами с целью мгновенно подготовить вашу отрасль!