Android no incluye por defecto una forma de cargar imágenes desde una URL, así que hay que usar librerías externas.
Las dos más populares son Picasso y Glide. En este caso voy a usar la segunda, porque está más actualizada, mejor optimizada de base, y porque es la que suelen usar en los ejemplos de Google.
Pero Picasso es igualmente muy buena opción
Podrás ver todo el proceso en el vídeo, aquí te dejo un par de cosas que te pueden venir bien:
Curso de Android Completo con Kotlin
Glide es una librería muy sencilla de usar, la verdad que para casos muy básico no tenemos que hacer gran cosa, lo único que tenemos que usar es una sentencia de estilo donde llamamos a Glide. le pasamos un contexto .width(frament) que es el que va a utilizar para todo lo que requiera de forma interna, la diremos cual es la URL que quiere cargar .load(URL) y en que imagen la queremos cargar .into(imageView) , con esto ya lo tendríamos todo solucionado
Glide.with(fragment) .load(url) .into(imageView);
Cómo configurar Glide
Lo primero que tenemos que hacer es pasarle la dependencia a nuestro proyecto y para ello dentro de nuestro proyecto vamos a la carpeta Gradle Scripts > build.grandle (Module: Android_Desde_Cero.app) en este link puedes ir al repositorio y mirar la ultima versión.
implementation "com.github.bumptech.glide:glide:4.13.0"
Ya habiendo importando nuestra librería iremos al AndroidManifest para activar el permiso de internet para poder usar nuestra librería.
<uses-permission android:name="android.permission.INTERNET"/>
Cómo usarlo
Luego iremos a nuestra clase MovieView y dentro de nuestro método setMovie() y usaremos Glide para cargar nuestra imagen dentro de nuestra aplicación.
Estamos a solo unos pasos de ver el resultado, pero mientras sigamos adelante. Continuemos yendo a nuestro MainActiviy para agregar una URL dinámica haremos uso de una herramienta de imágenes online dinámicas LoremFlickr .
Ya lo ultimo que nos queda es ejecutar nuestra aplicación y en caso de que no se nos vea recodar guardar nuestros cambios en el archivo AndroidManifest o volver a correr la app para que tome nuestros cambios.