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

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

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.widget.ImageView;
import java.io.InputStream;

public class ImageViewLoader extends AsyncTask<String, Void, Bitmap>
{
    ImageView bmImage;
    public ImageViewLoader(ImageView bmImage)
    {
        this.bmImage = bmImage;
    }
    protected Bitmap doInBackground(String... urls)
    {
        String urldisplay = urls[0];
        Bitmap bitmap = null;
        try
        {
            InputStream in = new java.net.URL(urldisplay).openStream();
            bitmap = BitmapFactory.decodeStream(in);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return bitmap;
    }

    protected void onPostExecute(Bitmap result)
    {
        bmImage.setImageBitmap(result);
    }
}

Например, если я запустил это

ImageViewLoader loader=new ImageViewLoader(imageView);
loader.execute("http://localhost:8000/media/12");

Я получаю это на изображении

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

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

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

Steve Smith 11.07.2018 16:27

Вам не нужно устанавливать GONE, поскольку нулевое растровое изображение просто заставит пустое изображение.

greenapps 11.07.2018 16:55

Если точечный рисунок не равен нулю, значит он действителен. Хорошо, если у сервера хороший имидж ...

greenapps 11.07.2018 16:55

@greenapps ты прав, спасибо

Amine Messaoudi 11.07.2018 16:58
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
4
540
0

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