Загрузить изображение в ImageView Android

#android #android-glide

#Android #android-скольжение

Вопрос:

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

 package knife.butter.glide;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.Image;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    Button btn;
    ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn=(Button) findViewById(R.id.button);
        imageView=(ImageView) findViewById(R.id.imageView);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                try {

                    Glide.with(v.getContext())
                            .load("http://192.168.1.191/driver/uploads/driver.jpg")
                            .placeholder(R.mipmap.ic_launcher)
                            .into(imageView);

                } catch (Exception e) {
                    Toast.makeText(MainActivity.this,e.toString(),Toast.LENGTH_SHORT).show();
                }


            }
        });
    }
}
  

Комментарии:

1. 1. Проверьте, есть ли изображение в предоставленном вами URL-адресе 2. Проверьте, получаете ли вы какое-либо исключение

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

3. Кроме того, вам потребуется разрешение на доступ в Интернет в вашем манифесте

4. cricket_007, большое вам спасибо, я пропустил разрешение на доступ в Интернет в манифесте. Это сработало успешно!

Ответ №1:

Здесь используйте встроенный прослушиватель glide для проверки исключения.

 Glide.with(v.getContext())
     .load("http://192.168.1.191/driver/uploads/driver.jpg")
     .listener(new RequestListener<String, GlideDrawable>() {
         @Override
         public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
             Log.e("Error","invalid Image Link");
             return false;
         }

         @Override
         public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
             return false;
         }
     })
     .placeholder(R.mipmap.ic_launcher)
     .into(imageView);
  

Примечание :

Убедитесь, что вы дали разрешение

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

в вашем manifest.xml

Счастливого кодирования..