Great tutorial! Ive been working in Android for a few years now and actually never built an app from scratch. This tutorial has been amazingly helpful for me to get my fundamentals down. I love your explanations for everything you do in such a clear and concise way. Excited to go through the rest of your tutorials!
This was a great tutorial, previous to this one I did the shopping list app tutorial, which is the oldest tutorial on your channel, and it was a little difficult to understand how all the classes work together, but here everything is so much more clear and better explained. Thank you so much for your videos, love your channel!
if not the best but definitely one of the best and complete tutorial i have ever seen, and a sincere apology if i can not like them all at once, but i will keep making tutorials
Please make more and more videos on Kotlin. I'm from Kenya And I have to give it to you mate. this is awesome stuff. I've watched 3 of your videos, this being the fourth and I must say you are the Bomb man. cheers @Phillipp Lackner
Great tutorial. Learned a lot from your news mvvm series. However, there is more to it when it comes to HTTP calls like: Passing form data, Uploading files, Headers and Interceptors to name a few. Hope you will make an extended tutorial that covers those. Handling JWT tokens and maybe storing them and auto appending them to the authorization header with Retrofit could be a nice tutorial.
Hello sir, thank you for your great tutorial, it's just that, I had a lot of trouble setting up an API connection that requires an API-KEY, it was a traumatizing experience of self doubt and brain rot
Great video on Retrofit...thanks for making this crash course and you can make a video on ROOM DataBase in detail so it would really helpful for everyone. Once Again thanks for this video man.
Hey Phillip. Thanks first for your crash course about Retrofit. I wanna ask if I'm learning now with your course, will there be a big different from the nowadays Retrofit. Or maybe it is still useful. I'm apllying my internship so it would be bad if this technologie is old
It's just crazy how in javascript you use a simple fetch("") or axios but in android it takes data type models, instance of retrofit api interfaces repos viewmodels etc..
Great tutorial Philipp! 😀 Is there a possibility for a crash course on retrofit but for a production-grade app? Would love to learn about the best practices on using retrofit in a production-level application!😅
There are no secrets, you wouldn't do it much different than here. For a real app where I use retrofit I have a course on my website here pl-coding.com/courses/powerful-kotlin-rest-apis-with-ktor/. You learn to build your own API as well
Very informative tutorial. I code and practice my self too. But I wonder how this do with Compose layout ? 🤔 I haven't seen any one have done with. Could you make one ? Thank for amazing tutorials.... Hope to learn more....
I wish that you could do one video of Retrofit using POST. I have the Json from my Android just the way that I like it, but it doesn't post to server for some reason.
This is not the ultimate. Just a basic super simple crash course. To make it ultimate you better go through docs and implement all possible cases including prod like setup and in the end we have no any other questions about Retrofit.
While making the RetrofitAPI i am getting this error in the singleton object: Property delegate must have a 'getValue(RetrofitInstance, KProperty<*>)' method. None of the following functions is suitable: Anyone has any fix for this??
What about filtering out null or blank values? Let's say in that Json collection that title is a nullable value and it let's also say that it can be a blank value. Does retrofit or Gson automatically filter null values or blank values or do we implement a custom json adapter to handle that? Also, let's say we wanted to sort and group the json response. For example, let's say I wanted the json response sorted by id first, then userId, and then grouped by completed. Where would I do the sorting and grouping? Is that also something we would handle in custom adapter or would we do that in our repository or is it something we do in our viewModel?
How to prevent Retrofit from encoding request Body. In Query I know I can add "encoded = true" and it works, but in body Retrofit adds / to my request body and it doesn't work with my Api.
@9:24 seems to me that we need to provide an interface to Retrofit package so that it knows what type of data structure that it needs to parse into the appropriate components of the data..but why they want an Interface? does interface cannot be instantiated and the body of the interface's function should be empty i.e it needs another class that inherits from the interface and write the code that is required
Thanks for this great tutorial A query:i have suspend function in interface which returns Response so when i get that response and call function .string() it gives me warning "Inappropriate blocking method call" Could you please tell me what is the best solution for this?
Hi Phillip, can you tell me where can I find ALL your available courses? I have just registered in your site, but I can see only 4 of them. I guess that is not all.
thanks for the content. You explain very coolly, I am delighted. I am thinking of signing up for your KTOR course. Keep doing the same cool. I advise everyone to subscribe.
hi, Is alway a pleasure to learn from you, can you shortly explain why the change in this-> "ResultViewHolder(binding: PlaceItemBinding)" to this: "ResultViewHolder(val binding: PlaceItemBinding)", what is the difference when declaring constructor parameters ??
the first approach only makes binding visible for the class and init block, but not inside functions and it doesn't expose it. So you couldn't write viewHolder.binding from somewhere else in the code. With the second approach this works thoughx
Hi, I'm using this video as guide for a little app, but I get this error "expected being array but was being object" I know that the problem is that the API is returning an object, but I can't figure out how to solve it. Thanks!
This part of the text does not work in fragment ((What do I need to change ?? lifecycleScope.launchWhenCreated { val response = try { RetrofitInstance.api.getPhotos() }catch (e: IOException) { Log.e(TAG, "IOException, you do not have an internet connection") return@launchWhenCreated }catch (e: HttpException) { Log.e(TAG, "HttpException, unexpected response") return@launchWhenCreated } if(response.isSuccessful && response.body() != null) { picsumAdapter.photos = response.body()!! } else { Log.e(TAG, "Response not successful") } } response.body () !! highlighted in red. I did everything as shown in the video, but through fragment at not activity What should I do ??
hey bro your courses are very nice but my country's currency is so worthless Half of my country's minimum wage, it would be nice if you could make a discount
@@PhilippLackner like this one type of example @TypeConverter fun toProfileData(value: String?): ProfileDataResponseModel? { return Gson().fromJson(value, ProfileDataResponseModel::class.java) } @TypeConverter fun fromProfileData(value: ProfileDataResponseModel): String? { return Gson().toJson(value) }
Wow just 9 days ago I was thinking about this exact topic and now you make a video about it! You can read my mind
Are you comedy me 😂😂😂
then create net tutorial with addition error body handling.
exactly 9 days :). you really calculated
He always comment to indirectly self promote his channel 😂
OMG you won't believe it I was just working on Retrofit and your Course came alone ........ What a timing!!!
I am the same guy 🤣 but with different account love your videos ❤️
Happened with me many times, seems like Phillip have some secret super natural power 😁
Its Law of attraction bro nothing else, we all attracted by what we need
Nah, I really have a secret natural power
Same here :D
Great tutorial! Ive been working in Android for a few years now and actually never built an app from scratch. This tutorial has been amazingly helpful for me to get my fundamentals down. I love your explanations for everything you do in such a clear and concise way. Excited to go through the rest of your tutorials!
I was working on Retrofit. The same time you posted this. I can't believe this. You're the best!
Thanks, happy to help!
I know English not so good, but your tutorials so simple to understand ... Thank you sansei )
This was a great tutorial, previous to this one I did the shopping list app tutorial, which is the oldest tutorial on your channel, and it was a little difficult to understand how all the classes work together, but here everything is so much more clear and better explained. Thank you so much for your videos, love your channel!
if not the best but definitely one of the best and complete tutorial i have ever seen, and a sincere apology if i can not like them all at once, but i will
keep making tutorials
Please make more and more videos on Kotlin. I'm from Kenya And I have to give it to you mate. this is awesome stuff. I've watched 3 of your videos, this being the fourth and I must say you are the Bomb man. cheers @Phillipp Lackner
Thanks man!
Philipp, you are the best teacher, thank you so much.
Well done brother 👏👏👏
It's really helpful to me ❤️
Thank you 😊 keep learning and Teaching 😊
Thanks, Philipp.Your way of teaching is very good
Thanks! :)
Right at the time. Thats, what I wanted. Thanks from Russia
Glad it helped!
@@PhilippLackner I have got a question. How do I refresh data? Like if it's a currency app, I do need to update values each minute. Thanks in advance)
Thanks a lot Philipp ! This tutorial is exactly what I was looking for
Great tutorial. Learned a lot from your news mvvm series. However, there is more to it when it comes to HTTP calls like: Passing form data, Uploading files, Headers and Interceptors to name a few. Hope you will make an extended tutorial that covers those. Handling JWT tokens and maybe storing them and auto appending them to the authorization header with Retrofit could be a nice tutorial.
I agree
damnnn!
so here was the video!
I scrapped almost the entire internet after News API App and this video was hiding here!
Your videos are so interesting, I can communicate with them and understand those deeply. Thanks
Thank you so much Phillip. Really enjoyed this course
Hello sir, thank you for your great tutorial, it's just that, I had a lot of trouble setting up an API connection that requires an API-KEY, it was a traumatizing experience of self doubt and brain rot
Great tutorial, you're videos are my go to when learning something new.
Thank you Phillip, great video as always 👌👍
Thank you!
AMAZING BRO YOU ARE THE BEST !!!!
Awesome content, super easy to follow. Thank you very much!
Awesome video. Thank you!
Great video on Retrofit...thanks for making this crash course and you can make a video on ROOM DataBase in detail so it would really helpful for everyone. Once Again thanks for this video man.
Excellent video, very didactic, regards from Caracas, Venezuela
Philipp you are best. This is a great video
Nice tutorial sir!
Thanks a lot!
Thank you bro
Very cool video
Wish you all the best👍👍👍👍
Hey Phillip. Thanks first for your crash course about Retrofit. I wanna ask if I'm learning now with your course, will there be a big different from the nowadays Retrofit. Or maybe it is still useful. I'm apllying my internship so it would be bad if this technologie is old
I love this Crash Course videos 😁
OMG.... the timing for this course couldn't be more accurate than this for me....
nice :D
Very good content, thank you very much and keep it up!
Thanks, will do!
It's just crazy how in javascript you use a simple fetch("") or axios but in android it takes data type models, instance of retrofit api interfaces repos viewmodels etc..
The Hero everyone needed 💪
Great tutorial Philipp! 😀 Is there a possibility for a crash course on retrofit but for a production-grade app? Would love to learn about the best practices on using retrofit in a production-level application!😅
There are no secrets, you wouldn't do it much different than here. For a real app where I use retrofit I have a course on my website here pl-coding.com/courses/powerful-kotlin-rest-apis-with-ktor/. You learn to build your own API as well
Philipp make an video about Scoped Storage, such as capturing image from camera and from gallery, that would be brilliant
I could share my github project on this
you're awesome, thank you!
Thanks your great UA-cam!! from JAPAN🎌🎌🎌
Thanks for watching!
Great Video,
Thank you very much
I am expecting this course, Thanks
Hope you like it!
Are the techniques here also relevant for those who use Jetpack Compose (except for the XML for the layout)?
same doubt
Good tutorial for Retrofit
Thanks for the video 😊
This is great. How would you incorporate retrofit for database operations using a remote turso /libsql database?
Very informative tutorial. I code and practice my self too. But I wonder how this do with Compose layout ? 🤔 I haven't seen any one have done with. Could you make one ? Thank for amazing tutorials.... Hope to learn more....
Good job!
you got subscribers from Traversy Media! Anyways, Great video!
Awesome, thank you!
Super, thanks
I wish that you could do one video of Retrofit using POST. I have the Json from my Android just the way that I like it, but it doesn't post to server for some reason.
This is not the ultimate. Just a basic super simple crash course. To make it ultimate you better go through docs and implement all possible cases including prod like setup and in the end we have no any other questions about Retrofit.
While making the RetrofitAPI i am getting this error in the singleton object:
Property delegate must have a 'getValue(RetrofitInstance, KProperty<*>)' method. None of the following functions is suitable:
Anyone has any fix for this??
What about filtering out null or blank values? Let's say in that Json collection that title is a nullable value and it let's also say that it can be a blank value. Does retrofit or Gson automatically filter null values or blank values or do we implement a custom json adapter to handle that? Also, let's say we wanted to sort and group the json response. For example, let's say I wanted the json response sorted by id first, then userId, and then grouped by completed. Where would I do the sorting and grouping? Is that also something we would handle in custom adapter or would we do that in our repository or is it something we do in our viewModel?
How to prevent Retrofit from encoding request Body. In Query I know I can add "encoded = true" and it works, but in body Retrofit adds / to my request body and it doesn't work with my Api.
Hey buddy - Could you please make one video on clean architecture and solid principles? thanks in advance.
Thanks for the tutorial; question: how do we add code to call an API that requires putting in a bearer access token?
Make videos on Better Android Apps Using MVVM with Clean Architecture, and also Unit testing.
I have all that
@9:24 seems to me that we need to provide an interface to Retrofit package so that it knows what type of data structure that it needs to parse into the appropriate components of the data..but why they want an Interface? does interface cannot be instantiated and the body of the interface's function should be empty i.e it needs another class that inherits from the interface and write the code that is required
Satisfied. But don't the Todo data class need some annotations.
Thanks for this great tutorial
A query:i have suspend function in interface which returns Response so when i get that response and call function .string() it gives me warning "Inappropriate blocking method call"
Could you please tell me what is the best solution for this?
Hi Phillip, can you tell me where can I find ALL your available courses?
I have just registered in your site, but I can see only 4 of them. I guess that is not all.
Thanks 👍🏻
thanks for the content. You explain very coolly, I am delighted. I am thinking of signing up for your KTOR course. Keep doing the same cool. I advise everyone to subscribe.
I get a unresolved reference error for ItemTodoBinding even though viewBinding is set to true. How do I fix this?
Hey Philip can you explain about prominent disclosure location android and new google's policies? Ty
Please make a video on Web Sockets with Android, there is not much details anywhere about this topic.
hi, Is alway a pleasure to learn from you, can you shortly explain why the change in this-> "ResultViewHolder(binding: PlaceItemBinding)" to this: "ResultViewHolder(val binding: PlaceItemBinding)", what is the difference when declaring constructor parameters ??
the first approach only makes binding visible for the class and init block, but not inside functions and it doesn't expose it. So you couldn't write viewHolder.binding from somewhere else in the code. With the second approach this works thoughx
Thanks I struggled, did not pay attention on this
Hi, I'm using this video as guide for a little app, but I get this error "expected being array but was being object" I know that the problem is that the API is returning an object, but I can't figure out how to solve it.
Thanks!
This part of the text does not work in fragment ((What do I need to change ??
lifecycleScope.launchWhenCreated {
val response = try {
RetrofitInstance.api.getPhotos()
}catch (e: IOException) {
Log.e(TAG, "IOException, you do not have an internet connection")
return@launchWhenCreated
}catch (e: HttpException) {
Log.e(TAG, "HttpException, unexpected response")
return@launchWhenCreated
}
if(response.isSuccessful && response.body() != null) {
picsumAdapter.photos = response.body()!!
} else {
Log.e(TAG, "Response not successful")
}
}
response.body () !! highlighted in red.
I did everything as shown in the video, but through fragment at not activity
What should I do ??
why you donot use volley for same purpose?
good job
17:09 Can you please share the link of the video for POST request in retrofit?
how do I show download progress ? I couldn't understand how interceptors work.
What does this app do exactly?
Does anyone know of a good video or any reference that helps with sending an image to the server using retrofit?
why still with GSON? not Moshi? @phillip
Does retrofit handle cookies?
Hiii, thanks, please make a video with @path parameters :(
I don't have a list of objects tho, just one object in my json
Thank You, can you also make a video on " how to make a android vpn app".
hey bro your courses are very nice but my country's currency is so worthless
Half of my country's minimum wage, it would be nice if you could make a discount
pls make a video on parsing the data also from json to gson and vice versa
I don't get the question
@@PhilippLackner like this one type of example
@TypeConverter
fun toProfileData(value: String?): ProfileDataResponseModel? {
return Gson().fromJson(value, ProfileDataResponseModel::class.java)
}
@TypeConverter
fun fromProfileData(value: ProfileDataResponseModel): String? {
return Gson().toJson(value)
}
I'm in depression after watching this video.
Hey, you're not alone
I hope there is update to jetpack compose
My fav moment is 9:12 xd
I'm getting IOexception error
same what did you do ?
Up