Glide и Picasso не загружают изображения с YouTube - PullRequest
0 голосов
/ 30 апреля 2019

Я новичок в ImageView, Picasso, Glide. Я хочу просто загрузить изображение с URL, я пробовал Glide и Picasso. Оба они хорошо загружают изображения, но если я пытаюсь загрузить изображения с YouTube (миниатюра) - не загружается. // http://i.ytimg.com/vi/z0NfI2NeDHI/sddefault.jpg - не загружается

MainActivity.java

imageView = findViewById(R.id.image);
videoImg = ""
fetchData.execute(); //returns link for image to videoImg
Glide.with(this)
                .load(videoImg)
                .placeholder(R.drawable.ic_launcher_background)
                .error(R.drawable.ic_launcher_foreground)
                .into(imageView);
        Picasso.get().load(videoImg).into(imageView);

activity_main.xml

<ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

LogCat

W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
W/Glide: Load failed for null with size [0x0]
    class com.bumptech.glide.load.engine.GlideException: Received null model

Ответы [ 3 ]

0 голосов
/ 30 апреля 2019

Если вы просто хотите загрузить изображение в ImageView, просто вставьте одну библиотеку, скажем, Glide.

  1. Прежде всего, взглянув на свой код, вы должны объявить videoImg какэто:

    videoImg = "http://i.ytimg.com/vi/z0NfI2NeDHI/sddefault.jpg";

  2. Затем проверьте свои зависимости, вы должны добавить правильную, как показано ниже:

    реализация 'com.github.bumptech.glide: glide: 4.9.0'

    annotationProcessor 'com.github.bumptech.glide: компилятор: 4.9.0'

Не забудьте добавить mavenCentral () в репозитории в вашем файле проекта под buildscript

добавить разрешение доступа в Интернет в вашем манифесте:

<uses-permission android:name="android.permission.INTERNET"/>

0 голосов
/ 01 мая 2019

Ну, неловкая ситуация .. Я использую пользовательский AsyncTask, который возвращает String (ссылка на изображение yt) (в моем случае videoImg), поэтому мой код был:

void ShowImage(View v){
    fetchData.execute();
    Glide.with(MainActivity.this)
                .load(videoImg)
                .placeholder(R.drawable.ic_launcher_background)
                .error(R.drawable.ic_launcher_foreground)
                .into(imageView);
}

Так что AsyncTask не успевает загрузитьссылка и Glide просто пытаются загрузить пустую строку ..

Извините еще раз ..

0 голосов
/ 30 апреля 2019

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

Мое обоснованное предположение состоит в том, что ваше устройство использует какую-то ограниченную сеть, поэтому оно блокирует запросы на вход / выход с конечных точек YouTube.Если вы подключитесь из другой сети, все будет работать нормально.

...