Невозможно решить GlideApp в Glide 4.1.1

Пройдя через множество форумов по той же проблеме, я все еще не смог устранить ошибку GlideApp. Он говорит, что это не может быть решено. Вот скриншот:

Невозможно решить GlideApp в Glide 4.1.1

Вот класс java, чтобы использовать детали сверху

Невозможно решить GlideApp в Glide 4.1.1

Мой файл build.gradle уже содержит:

  compile 'com.github.bumptech.glide:glide:4.1.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.1.1'

Оба, а также у меня есть класс с приведенным ниже кодом:

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

@GlideModule
public final class CustomAppGlideModule extends AppGlideModule {
}

И я использую это, чтобы запросить:

Когда я использую Glide.with, появляется сообщение об ошибке

Невозможно решить GlideApp в Glide 4.1.1

Но все же это не решает проблемы.

juse Glide только вместо GlideApp

Quick learner 12.09.2018 08:57

Тогда это дает мне ошибку "с: если я использовал только Glide.

Bir Nepali 12.09.2018 09:00

проверь мой ответ

Quick learner 12.09.2018 09:16

@Quicklearner Пожалуйста, убедитесь, что я включил все детали своей проблемы

Bir Nepali 12.09.2018 09:36
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
4
4 781
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Попробуйте с

  implementation 'com.github.bumptech.glide:glide:4.8.0'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

ДЕМО

@GlideModule
public class FlickrGlideModule extends AppGlideModule {

  @Override
  public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
    super.applyOptions(context, builder);
    builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888));
  }

  @Override
  public void registerComponents(@NonNull Context context, @NonNull Glide glide,
      @NonNull Registry registry) {
    registry.append(Photo.class, InputStream.class, new FlickrModelLoader.Factory());
  }

  // Disable manifest parsing to avoid adding similar modules twice.
  @Override
  public boolean isManifestParsingEnabled() {
    return false;
  }
}

Читать AppGlideModule

К вашему сведению

Ваш метод loadImage будет

public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView) {
        loadImage(ctx,glideRequests, url, imageView, DiskCacheStrategy.ALL);
    }

    public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView, DiskCacheStrategy diskCacheStrategy) {

                 Glide.with(ctx)
                    .applyDefaultRequestOptions(requestOptions.placeholder(R.drawable.ic_stub).error(R.drawable.ic_stub))
                    .asBitmap()
                    .load(url).into(imageView);
    }

потом

ImageUtil.loadImage(context,options,obj.getPhotoUrl(),avatarImageView);

Спасибо за такую ​​приятную информацию, но я все еще не могу решить проблему. Проект почти завершен, но я не могу решить только эту ошибку, вот весь проект, в котором модуль GlideApp находится внутри util github.com/BlueYeti1881/Physicscircle

Bir Nepali 12.09.2018 09:04

@Inellij Пожалуйста, проверьте, что я добавил все детали и отредактировал свой вопрос.

Bir Nepali 12.09.2018 09:36

поэтому, если я использую GlideApp, он показывает ошибку, а когда я использую Glide. с ним отображается ошибка ... не могли бы вы помочь мне. если вам нужно, у меня открыт teamviewer ...., я хотел бы поделиться с вами своим компьютером .. !!

Bir Nepali 12.09.2018 09:39

да, я добавил этот вопрос и отредактировал его в моем втором изображении. Первое изображение создает запрос, а второе изображение в классе imageutil, где реализован метод. пожалуйста, проверьте

Bir Nepali 12.09.2018 09:43

@BirNepali понял суть. Добавьте первый параметр RequestOptions requestOptions

IntelliJ Amiya 12.09.2018 09:44

где я должен добавить это ... не могли бы вы мне помочь ... следует ли мне заменить GlideRequests glideRequests на RequestOptions requestOptions во втором изображении или иначе?

Bir Nepali 12.09.2018 09:46

@BirNepali Пожалуйста, проверьте мой отредактированный ответ. Надеюсь, это сработает.

IntelliJ Amiya 12.09.2018 09:56

Спасибо за вашу любезную помощь, вот ошибка после того, как я использовал то, чем вы поделились со мной ibb.co/ndR34pibb.co/eF5fjp

Bir Nepali 12.09.2018 09:57

@BirNepali omg! почему вы удаляете RequestOptions options = new RequestOptions();

IntelliJ Amiya 12.09.2018 09:59

огромный респект вам ... почти здесь, и да, я забыл добавить опцию запроса, и я добавил в свой класс позже здесь снимки экрана до и теперь ibb.co/kp47fU и ibb.co/eX1QZp. Теперь единственная ошибка, которую я получаю, - это слушатель. Как я могу решить это .... !! у вас есть мой голос, а также полезный голос.

Bir Nepali 12.09.2018 10:20

@BirNepali Вы можете удалить этот метод. Не используя. public static void loadImage(GlideRequests glideRequests, String url, ImageView imageView, RequestListener<Drawable> listener) { glideRequests.load(url) .error(R.drawable.ic_stub) .listener(listener) .diskCacheStrategy(DiskCacheStrategy.DATA) .into(imageView); }

IntelliJ Amiya 12.09.2018 10:23

извините за поздний ответ ... да, вы заслуживаете голоса ... Я обязательно сделаю это ... одно последнее препятствие ... Мне удалось устранить все ошибки, кроме некоторых свойств, которые я не могу решить, это diskCacheStrategy (DiskCacheStrategy.None) и fitCenter () и CenterCrop () и .skipMemoryCache (true) ... следует ли мне их удалить, или есть ли в любом случае, что в Bitmap мы можем их разрешить ... Я искал в Интернете, но не нашел ничего, что могло бы мне помочь. вот изображение ibb.co/d7G9C9

Bir Nepali 12.09.2018 11:32

@BirNepali Вы должны добавить android:scaleType = "fitCenter" в свой раздел xml Imageview или public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView, DiskCacheStrategy diskCacheStrategy) { glideRequests.fitCenter(); Glide.with(ctx)......

IntelliJ Amiya 12.09.2018 11:41

Попробуй это

Импортируйте Glide, добавив это в gradle

compile 'com.github.bumptech.glide:glide:3.8.0'

Затем используйте этот код

Glide.with(context)
        .load(url)
        .placeholder(R.drawable.ic_male)
        .error(R.drawable.imagenotfound)
        .listener(new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                // log exception
                Log.e("TAG", handle error case", e);
                return false; 
            }

            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                 Log.e("TAG", handle success case here", e);
                return false;
            }
        })
        .into(avatarImageView);

Я отредактировал свой вопрос, где у меня есть другой класс для получения запроса. всякий раз, когда я меняю какую-либо переменную, следующий класс просит меня изменить подпись класса. Я добавил выше свой вопрос.

Bir Nepali 12.09.2018 09:21

мой ответ тебе помог?

Quick learner 12.09.2018 09:39

нет ... он все еще показывает ошибку ... !! не могли бы вы помочь мне из Teamviewr .. Я хотел бы поделиться с вами своим компьютером .. !! Проект почти готов, но не решена только эта проблема .. Буду вам очень признателен.

Bir Nepali 12.09.2018 09:40

Я не могу использовать teamviewer прямо сейчас, дорогая, но позже, в любом случае, вы можете поделиться своей ошибкой здесь

Quick learner 12.09.2018 09:41

вы просто хотите показать изображение с помощью скольжения, верно?

Quick learner 12.09.2018 09:41

да ... но у меня также есть отдельный класс, в котором я обрабатываю запрос из другого класса. Я также включил этот класс во второе изображение выше.

Bir Nepali 12.09.2018 09:42

я понял, вам не нужно использовать метод ImageUtil.loadImage, вы можете легко использовать Glide.with (context) .load (url) .into (avatarImageView);

Quick learner 12.09.2018 09:43

Позвольте нам продолжить обсуждение в чате.

Quick learner 12.09.2018 09:44

Похоже, идет большая дискуссия. Не волнуйся. У меня есть решение.

Следуйте шагам:

Добавьте зависимость, как показано ниже (я использовал последнюю версию)

implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

Создайте пакет (поскольку я всегда использовал структурированный код) myglide и скопируйте / вставьте следующий класс:

@GlideModule
public class SampleGlideModule extends AppGlideModule {
    @Override
    public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
        super.applyOptions(context, builder);
    }
}

Теперь вы можете нажать CTRL+F9 ИЛИ выбрать опцию Make Project в меню Build. Он автоматически сгенерирует один файл (Вы можете увидеть, нажав CTRL и наведя курсор на ClassName в File.)

final class GeneratedAppGlideModuleImpl extends GeneratedAppGlideModule {
  private final SampleGlideModule appGlideModule;
  ....
}

Теперь вы можете очень легко использовать класс GlideApp.

Не стесняйтесь обращаться ко мне, если у вас возникнут какие-либо ошибки.

Надеюсь, это поможет вам. Я как всегда люблю Glide. <3

Другие вопросы по теме