
Learn how Android apps work with the internet to download and display images using visual libraries, Kotlin, Jetpack Compose, and Java, with a fast startup approach.
Explore choosing an example by examining the Google page on GitHub to understand how to display an image from the internet in an Android app.
implementation 'com.github.bumptech.glide:glide:4.13.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'androidx.activity:activity-compose:1.5.1'
implementation 'androidx.compose.material:material:1.2.1'
implementation "com.github.skydoves:landscapist-glide:2.0.0"
Send a network request and handle the JSON response on Android using HttpURLConnection, retrieve the avatar URL, and prepare for using libraries like Retrofit.
implementation implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.google.code.gson:gson:2.8.9'
Learn how to use RxJava to manage multi-threading when requesting and displaying images from the internet, switching between background and main threads safely for reliable Android apps.
Explore using Kotlin coroutines to handle multi-threaded queries by moving work to a background thread with suspend functions, returning to the main thread, and simplifying code compared to Java.
Explore how Kotlin Flow handles multithreading when receiving network requests, using Flow, collect, and background threads. See suspend functions in action and Java basics, collect patterns, ensuring main-thread updates without blocking.
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
Display a list of pictures by fetching avatar URLs from GitHub and Google members, then render three avatars per row using a lazy vertical grid in Android compose.
Apply the MVP pattern to split the app into model, presenter, and view, moving members and the request logic into dedicated layers and wiring a callback interface.
Explore how to fetch data from the internet and display photos in Android apps, covering about 80 percent of practical tasks.
What is this course about?
This course will help you understand how to work with the Internet on an android device, how to download and display a picture, which libraries and tools to use for this.
My course will have a number of distinguishing features:
I will use the startup method. That is, try to do things so that we can see the results faster, whatever they may be, and write less code at the same time. Because, from my point of view, visual validation helps us know that we're moving in the right direction. So the initial versions of the application will not be quite architecturally correct. However, we will fix this later on.
I will try to use all new technologies: Glide, Picasso, Jetpack compose, HttpURLConnection, OkHttp, Json, Gson, RxJava, coroutines, Flow, Retrofit, MVP and others. Exactly the ones that are required in the android developer jobs.
I will try to do one action in several ways, so that you have a choice and an understanding of what's going on.
I will provide complete code so that you can insert it into your project and reproduce it without too much difficulty.
We will go from the simple to the complex, but always rely on the visual result.
After completing the course, you will be able to make an application that will display a list of photos from the Internet.
Who will benefit from this course?
This course will be useful for intermediate-level android developers who have no experience with the Internet yet. Beginner developers who have no experience at all will probably not be able to take it. You're better off taking the beginner's course and then coming back to this course.