Проблема с загрузкой изображения Android с Glide - PullRequest
0 голосов
/ 07 мая 2019

У меня возникла проблема с Glide Image Download.

Мое приложение работает на Glide версии 4.8.0 и minSdkVersion 21, targetSdkVersion 26 и compileSdkVersion 28.

Проблема в том, что Glide не может загрузить изображение из Apple News и вызывает его блокировку и сбой приложения.URL-адрес изображения: https://c.apple.news/AgEXQU9SSmFycEhYUUVlSkxKUE52XzN1M1EAMA

Код для загрузки изображения:

Glide.with(context)
.setDefaultRequestOptions(getRequestOptionsForImage(item.ContentPersonStatusUpdate.widthURLImageWidth,context.getResources().getDimensionPixelSize(R.dimen.image_height_external_link),context))
.asBitmap()
.load(https://c.apple.news/AgEXQU9SSmFycEhYUUVlSkxKUE52XzN1M1EAMA)
.into(imageViewContent);

public static RequestOptions getRequestOptionsForImage(int width, int height, Context context){
        return  new RequestOptions().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.AUTOMATIC).override(width,height).placeholder(context.getDrawable(R.drawable.ic_news_thumbnail_loading));
    }

Есть идеи или решения по этому вопросу?Эта проблема возникает только для URL-адресов изображений новостей Apple.

*** ОБНОВЛЕНИЕ

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

new DownloadImageTask(imageViewContent).execute(https://c.apple.news/AgEXQU9SSmFycEhYUUVlSkxKUE52XzN1M1EAMA);


private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
        ImageView bmImage;
        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap bmp = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                bmp = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return bmp;
        }
        protected void onPostExecute(Bitmap result) {
            bmImage.setImageBitmap(result);
        }
    }

1 Ответ

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

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

    String url="https://c.apple.news/AgEXQU9SSmFycEhYUUVlSkxKUE52XzN1M1EAMA";

    RequestOptions requestOptions = new RequestOptions();
    requestOptions.error(R.drawable.img_placeholder);
    Glide.with(context)
            .setDefaultRequestOptions(requestOptions)
            .load(url)
            .into(imgImage);

я пробую ваш код тоже без опции запроса, как показано ниже:

    Glide.with(context)
            .asBitmap()
            .load(url)
        .into(imgImage);

и работал нормально

, когда я пытаюсьчтобы использовать с вашим кодом опции запроса, скажите мне использовать аннотацию @RequiresApi (LOLLIPOP).Возможно, вы тестируете приложение ниже API, и метод не работает.

...