Reputation: 340
In my app I have the following code in my captureBonus
activity (which is where the ImageView
lives as well):
// Process the Sample Image
bonusSampleImage = findViewById(R.id.bonusSampleImage);
Glide.with(this)
.load("http://i.imgur.com/DvpvklR.png")
//.load("https://www.tourofhonor.com/appimages/2019fl4.jpg")
.into(bonusSampleImage);
But when I run my app I'm not getting any image view at all. Before I added the above code, the image view with its placeholder would appear. Also, I tried both links in the code, neither work (I thought it was https related).
I have the internet and external storage permissions already.
I found that Glide had logged some activity in logcat, it was only viewable in verbose mode though:
2019-05-01 16:51:38.329 3182-3182/net.tommyc.android.tourofhonor 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
2019-05-01 16:51:38.568 3182-3182/net.tommyc.android.tourofhonor I/ViewTarget: Glide treats LayoutParams.WRAP_CONTENT as a request for an image the size of this device's screen dimensions. If you want to load the original image and are ok with the corresponding memory cost and OOMs (depending on the input size), use .override(Target.SIZE_ORIGINAL). Otherwise, use LayoutParams.MATCH_PARENT, set layout_width and layout_height to fixed dimension, or use .override() with fixed dimensions.
2019-05-01 16:51:38.690 3182-3182/net.tommyc.android.tourofhonor W/Glide: Load failed for http://i.imgur.com/DvpvklR.png with size [1032x2038]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There was 1 cause:
java.net.UnknownHostException(Unable to resolve host "i.imgur.com": No address associated with hostname)
call GlideException#logRootCauses(String) for more detail
Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE
There was 1 cause:
java.net.UnknownHostException(Unable to resolve host "i.imgur.com": No address associated with hostname)
call GlideException#logRootCauses(String) for more detail
Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetch failed
There was 1 cause:
java.net.UnknownHostException(Unable to resolve host "i.imgur.com": No address associated with hostname)
call GlideException#logRootCauses(String) for more detail
Cause (1 of 1): class java.net.UnknownHostException: Unable to resolve host "i.imgur.com": No address associated with hostname
2019-05-01 16:51:38.690 3182-3182/net.tommyc.android.tourofhonor I/Glide: Root cause (1 of 1)
Here is the corresponding layout XML for this activity:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".captureBonus">
<RelativeLayout
android:id="@+id/basicBonusInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_marginTop="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp">
<TextView
android:id="@+id/bonusName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/valueBonusName"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:textSize="18sp"/>
<TextView
android:id="@+id/bonusCategory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/valueCategory"
android:layout_below="@id/bonusName"
android:layout_alignParentStart="true"/>
<TextView
android:id="@+id/bonusCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/valueBonusCode"
android:layout_below="@id/bonusName"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/bonusLocationInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_marginTop="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_below="@id/basicBonusInfo">
<TextView
android:id="@+id/bonusAddress"
android:text="1600 Pennsylvania Ave NW"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/bonusCity"
android:text="Washington"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/bonusAddress"/>
<TextView
android:id="@+id/bonusState"
android:text="DC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_below="@id/bonusAddress"
android:layout_toEndOf="@id/bonusCity"/>
<TextView
android:id="@+id/bonusGPSLabel"
android:text="GPS:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_below="@id/bonusCity"/>
<TextView
android:id="@+id/bonusGPSCoordinates"
android:text="XX.YYYYYY, -XX.YYYYYY"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_below="@id/bonusCity"
android:layout_alignParentEnd="true" />
</RelativeLayout>
<ImageView
android:id="@+id/bonusMainImage"
android:contentDescription="@string/mainImageDescription"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/bonusLocationInfo"
android:src="@drawable/no_image_taken"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_margin="8dp"
android:clickable="true"
android:focusable="true"/>
<ImageView
android:id="@+id/bonusSecondaryImage"
android:contentDescription="@string/secondaryImageDescription"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/bonusMainImage"
android:src="@drawable/optional_2nd_image"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_margin="8dp"/>
<TextView
android:id="@+id/additionalBonusDetails"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lblSampleBonusImage"
android:layout_below="@id/bonusSecondaryImage"
android:layout_marginStart="8dp"/>
<ImageView
android:id="@+id/bonusSampleImage"
android:contentDescription="@string/sampleImageDescription"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/additionalBonusDetails"
android:src="@drawable/sample_image_missing"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_margin="8dp"/>
<TextView
android:id="@+id/bonusFlavorLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bonus Notes"
android:layout_marginStart="8dp"
android:layout_below="@id/bonusSampleImage"/>
<TextView
android:id="@+id/bonusFlavorContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="XXXXXXXXXXXXXXX"
android:layout_margin="8dp"
android:layout_below="@id/bonusFlavorLabel"/>
<Button
android:id="@+id/btnSubmitBonus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnLblSubmitBonus"
android:layout_below="@id/bonusFlavorContent"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
</ScrollView>
Upvotes: 2
Views: 6914
Reputation: 24211
You are missing a s
in your URL. Please use https
instead of http
for the image URL.
Glide.with(this)
.load("https://i.imgur.com/DvpvklR.png") // Add https instead of http
.placeholder(R.drawable.sample_image_missing) // Add a placeholder here
.into(bonusSampleImage);
And the following in your dependency in your build.gradle
file. I think this one is missing.
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
As stated in the Glide's documentation you need have the repositories as well if you do not have those already.
And yes, please check your internet connection as well.
Upvotes: 3
Reputation: 1543
dependencies {
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
maven { url 'https://maven.google.com' }
}
Create a class MyGlideApp and rebuild your project.
@GlideModule
public class MyGlideApp extends AppGlideModule {
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}
Paste this in your activity class
public void loadGlideImage(Context context, ImageView imageView, String url) {
GlideApp.with(context.getApplicationContext())
.load(url)
.signature(new ObjectKey(url))
.dontAnimate()
.into(imageView);
}
Then you can do
String img_url = "https://www.tourofhonor.com/appimages/2019fl4.jpg";
loadGlideImage(this, bonusSampleImage, img_url);
Upvotes: 0