
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'
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'
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.