MVVM Movies App - Data Layer: Retrofit & Room DB - (Part 1)
Ғылым және технология
Get my premium course to build industry-level Android apps & Ktor backends. 🚀
ahmed-guedmioui.thinkific.com...
And take your skills to the next level and become ready for the Android industry ✅
First part of the clean architecture movies app tutorial playlist. This app uses Retrofit, Room Database and MVVM. With Jetpack Compose and Kotlin.
Follow me on Instagram:
/ ahmed_guedmioui
Get part 1 source code on Github
github.com/ahmed-guedmioui/Mo...
The API:
www.themoviedb.org
#kotlin #androidstudio #jetpackcompose #androiddeveloper #mvvm
Пікірлер: 32
Get my premium course to build industry-level Android apps & Ktor backends. 🚀 ahmed-guedmioui.thinkific.com/courses/build-industry-level-apps-and-ktor-backends And take your skills to the next level and become ready for the Android industry ✅
Get my premium course to build industry-level Android apps & Ktor backends. 🚀 ahmed-guedmioui.thinkific.com/courses/build-industry-level-apps-and-ktor-backends And take your skills to the next level and become ready for the Android industry ✅
This is an amazing series. But what would be even more amazing would be an authentication system, either separate or in this app. ;)
Thank you very much, man!
Flow has its own catch function that catches all unhandled exceptions. retun flow { }.catch {emit(Error(it.message())) } Also u can remove suspend from the getMovieList() function, flow works with suspend itself.
@getzygaming7561
6 ай бұрын
Flow has onStart {} and onCompletion{} functions, u can use them as loading state while collecting data. U can add to utils such function, to work with these functions inline fun Flow.onLoading(crossinline action: suspend FlowCollector.(isLoading: Boolean) -> Unit) = this.onStart { action(true) }.onCompletion { action(false) }
7:50 if You have packages in one folder/name, you need to change -> Tree Appearange -> Compact Middle Packages
Please how did you get the image base URL it was not clear in the explanation.
55th...This is going to be a great tutorial !!!
@ahmed_guedmioui
7 ай бұрын
last part is coming tomorrow
@jopadjr
7 ай бұрын
@@ahmed_guedmioui Maybe do a Google Map series next. Just a suggestion.
@AshutoshPandey-rt9hp
7 ай бұрын
yeah that would be great@@jopadjr
LOOKS amazing but you should structure your video in parts for easy navigation
why do we have to use a different database to show by movie genres? Can we use the same unique room database to lets say create another table within it?
فنان أستمر
It asks for the application URL, but I want to use it in my test app.
At 26:06 while editing the MoviesEntity you not only removed the null, but you changed the genre_ids value into a String from List without any comment. Maybe you will get to this later but I think this is because Room Database cannot handle a List as a field value; only simple types. Rather than creating a TypeConverter, you simply put the string list into a String, and I see now that you will parse this in the Mapper back into a List for the domain model "Movies".
thank you sir, any compose multiplatform tutorial in the future?
@ahmed_guedmioui
7 ай бұрын
yes of course
how many crud are there?
I can´t follow that kapt implementation. It doesnt work in my code.
@ahmed_guedmioui
6 ай бұрын
You didn't add it's plugin
@leandroosantana
6 ай бұрын
@@ahmed_guedmioui ohhh, I got it. It worked. Thanks
Success with nullable value doesn't make sense because is it's success then why the data null. For the responses without data it's better to use Unit type. Loading with boolean value also doesn't make sense because Loading already indicates loading state while two other states mean the loading is stopped. Error should contain the exception instead of message or data. Cached values should be emitted as Success with optional boolean flag isCachec/isStillLoading or smth else.
Is the API free With no limit
if you can speak arabic just do it please
@ahmed_guedmioui
5 ай бұрын
I do speak Arabic, but English is the world's language
@ubersticks
5 ай бұрын
@@ahmed_guedmioui By the way, your English speaking is perfect!
@Jjjnmkkmkkk
4 ай бұрын
Don't speak Arabic Speak English@@ahmed_guedmioui