Nested Navigation with Bottom Bar and Jetpack Compose | Android Studio Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ธ.ค. 2024

ความคิดเห็น • 153

  • @Gtry-pc1bg
    @Gtry-pc1bg 2 ปีที่แล้ว +15

    Omygod, You really explain my number 1 problem for the last 2 months. You really are great

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +1

      Thanks buddy

    • @maciejjaremowicz2646
      @maciejjaremowicz2646 9 หลายเดือนก่อน +1

      @@StevdzaSansame for me, great video man

  • @milanglisic7663
    @milanglisic7663 ปีที่แล้ว +2

    Pa ti si nas! Auu jebote, najaci smo. Hvala ti na ovome tutorijalu. Samo napred!

  • @AndrewDChristie
    @AndrewDChristie 2 ปีที่แล้ว +2

    Thanks!

  • @chil1t0
    @chil1t0 ปีที่แล้ว +1

    Hi, Stevdza, now that jetpack compose has a different way to handle the BottomNavigation with a rename and refactor of the composable as BottomBar, the function extension RowScope.AddItem doesn't work properly because the class BottomNavigationItem doesn't exist anymore, is there a fix to that?

    • @Sadiqueeeeeeee
      @Sadiqueeeeeeee 10 หลายเดือนก่อน +1

      I agree. In his last video on bottom navigation, I was encountering the same problem. Better use NavigationBar and NavigationBarItem from material3 in place of BottomNavigation and BottomNavigationItem

    • @cufflink919
      @cufflink919 7 หลายเดือนก่อน +1

      @@Sadiqueeeeeeee This also fixed my issue with the dark theme icons not showing. Thank you!

  • @dusanperic
    @dusanperic ปีที่แล้ว +1

    Hvala brate, baš mi je ovo trebalo, imaš odlične videe o Jetpacku, samo tako nastavi!

  • @AiGirlzzandBoyzz
    @AiGirlzzandBoyzz 7 หลายเดือนก่อน

    Thank you so much , I've been stuck in this part for over a week and finally I found your video .

  • @AliAhmad-dev
    @AliAhmad-dev 3 หลายเดือนก่อน

    This was a problem for me, but now it is easy. Thank you

  • @shubhanshusharma5372
    @shubhanshusharma5372 ปีที่แล้ว

    I dont comment usuallly but this video help me in my many projects i always watch this video and your code . Thanks for this video

  • @DavidBrunk-l9i
    @DavidBrunk-l9i ปีที่แล้ว +2

    how would you then navigate back to the auth graph, say for a logout button that was pressed in the home graph?

    • @soheiboz522
      @soheiboz522 9 หลายเดือนก่อน

      did find the solution ?

    • @ArturoDevA
      @ArturoDevA 7 หลายเดือนก่อน

      @@soheiboz522 solutions is use a lamdda , from HomeScreen to RootNavGraph, works perfect

  • @akpapps5988
    @akpapps5988 ปีที่แล้ว +3

    How to implement a logout from the profile in the bottom nav screen? It has a different controller. And auth in other controller. Then how to navigate?

    • @mauliktogadiya2500
      @mauliktogadiya2500 ปีที่แล้ว

      same question..found anything???

    • @fi8er1
      @fi8er1 ปีที่แล้ว

      @@mauliktogadiya2500 ??

    • @ArturoDevA
      @ArturoDevA 7 หลายเดือนก่อน

      solutions is use a lamdda , from HomeScreen to RootNavGraph, works perfect

    • @nuralijakipov3585
      @nuralijakipov3585 3 หลายเดือนก่อน

      @@mauliktogadiya2500 did you fing the answer to this question?

    • @mrraxza
      @mrraxza หลายเดือนก่อน

      @@nuralijakipov3585 try to use datastore and a viewmodel for the rootnavgraph to determine the start destinations. then you can flag the datastore such as logged in or not, and it will change your screen. the only downside is the change is not immediate, im still trying to find a better way to handle this

  • @bedresamarth
    @bedresamarth 6 หลายเดือนก่อน +1

    I had a question. How do you go back to the authNavGraph if I log out from the homeNavGraph?? Kindly give me advice on this as I am stuck

    • @rakibhasan_
      @rakibhasan_ 3 หลายเดือนก่อน

      Same here

  • @frax84
    @frax84 2 ปีที่แล้ว

    I've been one of the "many messages asked me for". Thank you very much for this nice feedback :)

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      Glad to help buddy 👍

  • @wuguo755
    @wuguo755 2 ปีที่แล้ว +1

    Great Job! Thank you very much! I am your student for learning jetpack compose from the beginning! Obvious and beneficial explanation. Expect more videos in the future!

  • @mraja6654
    @mraja6654 ปีที่แล้ว +1

    Really awesome 🎉

  • @chadisfeir3809
    @chadisfeir3809 9 หลายเดือนก่อน +1

    thank you for this tutorial!
    question: if we have logout button in profile screen where we should navigate to auth graph, don't we need to pass the root navcontroller to main graph in this case ?

    • @ankitkhyalia3194
      @ankitkhyalia3194 8 หลายเดือนก่อน

      Have you found the solution of this?

    • @chadisfeir3809
      @chadisfeir3809 8 หลายเดือนก่อน +1

      @@ankitkhyalia3194 yes just call the auth graph roote using the app navigation and popup the stack

    • @ArturoDevA
      @ArturoDevA 7 หลายเดือนก่อน

      @@chadisfeir3809 please friend share your code

    • @dabdelkarim
      @dabdelkarim 2 หลายเดือนก่อน

      @@chadisfeir3809 do you mean something like the following
      fun HomeNavGraph(rootNavController: NavHostController, homeNavController: NavHostController) {
      ......
      ......
      composable(route = BottomBarScreen.Profile.route) {
      ScreenContent(
      name = BottomBarScreen.Profile.route,
      onClick = {
      rootNavController.popBackStack()
      rootNavController.navigate(Graph.AUTHENTICATION)
      }
      )
      }
      I also tried to use homeNavController.popBackStack() instead of rootNavController.popBackStack() but it did not pop the stack!!

  • @tunahanbozkurt9516
    @tunahanbozkurt9516 ปีที่แล้ว +1

    How can we achive same behaviour by using xml ? I couldn't find any example. Should I use multiple NavHost Fragments ?

  • @rahulchandrabhan
    @rahulchandrabhan ปีที่แล้ว

    such a perfect playlist for understanding jetpack compose navigation. Thank You

  • @mungai7534
    @mungai7534 ปีที่แล้ว

    Was just looking for this, thanks!

  • @Fighterkampfer
    @Fighterkampfer 10 หลายเดือนก่อน

    Thank you very much! Just one question, what happens if you want to navigate from the Details screen back to the root graph ? For example, like a "logout" option that must show GRAPH.Authentication again. Will you use the navController at RootNavigationGraph ? And how would you provide it to the details screen ?

    • @meetb26
      @meetb26 10 หลายเดือนก่อน

      one problem show

    • @meetb26
      @meetb26 10 หลายเดือนก่อน

      pass mainNavController in detail page after that mainNavController .navigate(AuthScreen.Login.route)

  • @trekimpossible2850
    @trekimpossible2850 ปีที่แล้ว +3

    Since HomeNavGraph is a nested navigation, it could be implemented with navigation extension function. May I know the reasoning to use NavHost?

    • @clementjoymasinamela4244
      @clementjoymasinamela4244 ปีที่แล้ว

      I'm thinking the same, let me try it. If I fail, I will tell you the reason.

  • @_AG8
    @_AG8 3 หลายเดือนก่อน

    Once you logged in, how can you delete the main NavGraph backstack so you can't go back to the LoginScreen?

  • @420Sumanta
    @420Sumanta ปีที่แล้ว +1

    How to handle duplicate navigation when the user clicks on the same NavigationBarItem twice?

    • @N-fo4nq
      @N-fo4nq ปีที่แล้ว

      Have you found the solution for that?

    • @420Sumanta
      @420Sumanta ปีที่แล้ว

      nope. this is really frustrating
      @@N-fo4nq

  • @MonichGPT
    @MonichGPT 7 หลายเดือนก่อน +1

    Nested NavHost cause visual bugs in compose 1.7.

  • @vrindavankiras
    @vrindavankiras 10 หลายเดือนก่อน

    sir what about inner-padding value in scaffold for home , profile and setting screen or what i can do so that not need to pass this innerpadding value to all top label screen?

  • @rakibhasan_
    @rakibhasan_ 3 หลายเดือนก่อน

    What if I need to navigate from HomeGraph to AuthGraph? Specifically, if I want to log out from the HomeGraph, clear the entire HomeGraph, and then navigate to the AuthGraph, how can I handle this if the NavController used in the HomeGraph doesn't know about the AuthGraph?

  • @zakariajawas
    @zakariajawas 2 ปีที่แล้ว +1

    This is very helpful, but i have a question how to go from Home to Auth again incase of Logout ?

  • @Anolcera
    @Anolcera 2 ปีที่แล้ว +1

    what if we want to navigate from HOME nav graph back to the Auth ?

  • @adjimaingame
    @adjimaingame 2 ปีที่แล้ว +1

    Thank you for the tutorial! I've implement this navigation bottom bar with nested navigation on my project. But I'm having trouble. While on the Home Screen, the bottom bar keeps recomposing. I noticed it when elevation kept blacking out and logcat kept showing the message "The application may be doing too much work on its main thread.". My application also became very heavy. Do you have a solution regarding this?

  • @hohoday2664
    @hohoday2664 2 ปีที่แล้ว

    Really Fxxk nice I love you Stevdza-san !!!
    I really need this viedo thanks!!

  • @druom69
    @druom69 10 หลายเดือนก่อน

    Приятно слушать! Спасибо за видео

  • @maxose
    @maxose ปีที่แล้ว

    Hi thanks for guide. I faced with problem: how I can pass argument to details navgraph

  • @TheDanielz3
    @TheDanielz3 หลายเดือนก่อน

    hello! how to have a android as phone in the screen? i only have as a window on android studio...

  • @mattiapavese4465
    @mattiapavese4465 ปีที่แล้ว

    that was very useful, thank you!

  • @mouzamali2940
    @mouzamali2940 ปีที่แล้ว

    Great explanation

  • @StevanMedic
    @StevanMedic ปีที่แล้ว

    Bravo imenjace :) Podrska

  • @saeedzia5579
    @saeedzia5579 10 หลายเดือนก่อน

    how can i go from home screen to login screen????
    scenario: User logout from setting screen and now i want to open login screen.

  • @TriNguyen-ym3hf
    @TriNguyen-ym3hf 2 ปีที่แล้ว

    I have a question, when i navigate from bottomNavRoute to other Route, callback "OnDestroy" from lifecycle doesn't triggered (only call onStop), and when I navigate back using popBackStack, bottomNav triggers onCreate instead of onStart. That rlly weird, can you tell me what is the problem here, thank.

    • @TriNguyen-ym3hf
      @TriNguyen-ym3hf 2 ปีที่แล้ว

      @GeishaTheSerpantClan jetpack compose sir

  • @vitalijuskolinko9011
    @vitalijuskolinko9011 2 ปีที่แล้ว

    Thanks a lot! I am gonna try to implement such navigation for my project in the near future. Your video gonna help me a lot )

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      I'm counting on that! 🙌

  • @tripabroad8918
    @tripabroad8918 2 ปีที่แล้ว

    How to handle case if I don't need to hide bottom bar and want to save tab icon selected?

  • @HariKrishnan-es6po
    @HariKrishnan-es6po 2 ปีที่แล้ว

    Hi, Stev, How to call a interface method implemented in main activity from composable function.

  • @moammarqaddafi4858
    @moammarqaddafi4858 ปีที่แล้ว

    Can you please do something like that with XML method without jetpack?

  • @vickramodero6971
    @vickramodero6971 ปีที่แล้ว

    This doesn't work anymore. only a single NavHost per NavController is allowed. So, how do I achieve this?

  • @digvijayshelar8609
    @digvijayshelar8609 2 ปีที่แล้ว

    can anyone help me with the thing that bottom bar start destination works but onboarding screen doesnt work due to that

  • @vikashparajuli
    @vikashparajuli 2 ปีที่แล้ว

    Well explained. Thanks for the tutorial.

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +1

      Glad to help 👊

  • @mubashirpa
    @mubashirpa ปีที่แล้ว

    what should do if i want to log out and go back to login screen?

  • @johanngeisser6109
    @johanngeisser6109 ปีที่แล้ว

    Thanks, it was very useful

  • @eiorajlf
    @eiorajlf ปีที่แล้ว +1

    how to go back to root nav graph from home nav graph

    • @mauliktogadiya2500
      @mauliktogadiya2500 ปีที่แล้ว

      Did yo find solution ? What if we have logout like feature and want to clear current graph and navigate to auth graph?

  • @manuelfernandezgarcia2908
    @manuelfernandezgarcia2908 11 หลายเดือนก่อน

    What if i want to open the login screen from the home screen again? Imagine that i logout.

  • @mamhesam
    @mamhesam 2 ปีที่แล้ว

    Thank you so much for your great tutorial. Here,
    if I want the bottom navigation to be shown in the
    graph detail and navigate to the profile item in the
    bottom navigation and navigate to the home item in the profile
    , how can I still be on the information page. Like the bottom navigation
    of the Instagram app. that each bottom navigation item displays the last page.
    Thank you for your answer

  • @vladimirpopov8151
    @vladimirpopov8151 ปีที่แล้ว

    Thanks a lot. Great explanation of the theme!

  • @ovedgustavorinconmachado506
    @ovedgustavorinconmachado506 7 หลายเดือนก่อน

    Why is slower my app in compose than in xml?

  • @khumokwezimashapa2245
    @khumokwezimashapa2245 2 ปีที่แล้ว

    Hello. Do you have a video on how to dowload images using glide? I managed to use glide to show my Firebase images in recyclerview, but now I want to download those images into device internal storage.

  • @andrewbeechey7246
    @andrewbeechey7246 2 ปีที่แล้ว

    Hi, great video, it has inspired me to investigate jetpack compose navigation in my current app using BackdropScaffold, sadly i cannot work out how to make the backdrop and toolbar disappear when the user navigates to my sub graph. I cannot see how to use your approach of conditionally displaying the bottom nav and applying that to hiding the entire backdrop. please help me if you have time :D

  • @gamigforgamers
    @gamigforgamers ปีที่แล้ว

    Amazing video! keep it up

  • @albertomunoz4469
    @albertomunoz4469 2 ปีที่แล้ว +2

    Thanks a lot for all the series on Compose navigation! I have a question, if i want to navigate back from the nested NavHost / NavController with the Bottom Bar to the previous (back to the NavHost / NavController for the Login) , but not using the back hard button but with a clickable in the "HOME" Text for example, how would it be the code inside this clickable { ... } ? I still wasn't able to make it work. Great work and thanks again!

    • @albertomunoz4469
      @albertomunoz4469 2 ปีที่แล้ว +2

      I'm passing the parent NavHostController to the nested one and used it to navigate + popUp back. That made the trick. Then passed a "onNavigateBack" lambda and that feels more clean now.

    • @gtry-in8kc
      @gtry-in8kc 2 ปีที่แล้ว

      Hello thats what Im trying to solve now. So you mean is from RootNavGraph you will pass the NavController to the HomeScreen?

  • @ngomdecadetkamdaou3464
    @ngomdecadetkamdaou3464 2 ปีที่แล้ว

    Awesome, this was helpful

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +1

      Glad to hear that buddy 💪

  • @yossimaskin1393
    @yossimaskin1393 ปีที่แล้ว +1

    The problem with this approach is that as you mentioned, you have to use separate navControllers and in this case you cannot navigate from the inner graph to the auth graph in cause you need to logout for example. I didn't find a solution to it

    • @BinuJasim
      @BinuJasim ปีที่แล้ว

      Can't you do a two step routing? First go to the root of the inner graph & then go to the authentication. Does that work?

    • @yossimaskin1393
      @yossimaskin1393 ปีที่แล้ว +2

      @@BinuJasim I solved this by passing 2 nav controllers to the inner graph, the root one and the other of the bottom navigation but it's a kind of dirty workaround

    • @swiszcz93
      @swiszcz93 ปีที่แล้ว

      omg i'm having this problemmmmm

    • @BinuJasim
      @BinuJasim ปีที่แล้ว +1

      @@yossimaskin1393 Fine that works. Another solution is to use a single navcontroller only and define the homescreen graph as an extension function of NavGraphBuilder just like how the authentication graph is defined. This way there is only a single NavHost, so all the navigation information will be available in the navcontroller backstack. You can navigate to any route as well.

    • @krishnankv7894
      @krishnankv7894 ปีที่แล้ว

      ​@@yossimaskin1393 can u please share the details am facing that same problem

  • @thatcrazymf7658
    @thatcrazymf7658 2 ปีที่แล้ว +1

    Hey Stev, you really need to create a video about a nested navigation drawer!

  • @onahchristian2684
    @onahchristian2684 ปีที่แล้ว

    Just Superb...

  • @daniilvladimirov2457
    @daniilvladimirov2457 2 ปีที่แล้ว +2

    A great tutorial as always! Whaiting for your new course, can you give a clue when will it be?)

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      Thanks 👊
      Hmm I will do my best to complete it at the beginning of July 🤔 More information about it, when it's done. 😎

  • @cajoncollection3826
    @cajoncollection3826 2 ปีที่แล้ว

    So well explained thanks for putting it up! And I guess the jetpack navigation component will handle the back stack for you? And no need to handle it ourselves if we want to remember the screen navigation?

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +1

      Well it's a stable library now, but you'll have to think of how many screens you want to keep in the back stack.

  • @yahussainmazloom1
    @yahussainmazloom1 ปีที่แล้ว

    Best Great Job brother

  • @satnamsingh-qh2si
    @satnamsingh-qh2si ปีที่แล้ว

    Great video for navigation. Can you make videos on how to scope viewmodels to composable in jetpack compose projects?

  • @davidavalishvili2768
    @davidavalishvili2768 2 ปีที่แล้ว

    great video. thanks. what about to send custom parcelable arguments from one screen to another?

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +1

      I've already made a video about passing a whole object, check my videos.

  • @sinancode
    @sinancode 2 ปีที่แล้ว

    its very important thanks

  • @caniggiasyabil470
    @caniggiasyabil470 ปีที่แล้ว

    you could achieve such functionality much easier with scaffold and tabrow. The question is how to do it on xml? nice video btw

  • @roonyshekho8067
    @roonyshekho8067 2 ปีที่แล้ว

    How can I change the background color of a bottom navigation screen?

    • @zakariajawas
      @zakariajawas 2 ปีที่แล้ว +1

      pass backgroundColor to the BottomNavigation()

    • @roonyshekho8067
      @roonyshekho8067 2 ปีที่แล้ว +1

      @@zakariajawas I meant the screen not the bottom navigation itself. It can be changed using background color attribute in scaffold.

  • @emmanouilboursalis3912
    @emmanouilboursalis3912 ปีที่แล้ว

    Hello sir and thank you for the video. May you show as how to pass arguments on nested navigation?
    I am trying to do it on my own but i can't.

  • @bakersbinary
    @bakersbinary ปีที่แล้ว

    Great, thank you

  • @maqcoders8148
    @maqcoders8148 ปีที่แล้ว +1

    Thanks for making this video, it means a lot to us. I was looking for the same scenario but found no solution in XML.
    can you please make a video for the same using XML? it will be very helpful for us.
    BTW You did a great job and I appreciate this.
    Thank You!

  • @marta_na_moto
    @marta_na_moto ปีที่แล้ว

    Thank you kind soul.

  • @nuralijakipov3585
    @nuralijakipov3585 3 หลายเดือนก่อน

    is it clean code or not?

  • @nipunshah1373
    @nipunshah1373 2 ปีที่แล้ว

    1 Doubt :
    What is difference between `navigation` & `NavHost` ?

  • @JohannGeisser-d9m
    @JohannGeisser-d9m ปีที่แล้ว

    Excellent, but I can not seem to navigate again from Home screen to AuthGraph

  • @AbdallahMehiz
    @AbdallahMehiz ปีที่แล้ว

    having multiple navigation graphs results in a lot more boiler plate and more points of failure, current compose navigation is by all means, not ready for production

  • @HendrawanDev
    @HendrawanDev 2 ปีที่แล้ว

    Clear and well explained tutorial! Btw, i have a case in my android app that similar to the example in this video. So, in my case, the information screen has BottomAppBar component. How i can implement that? Do i need to place the BottomAppBar in parent scaffold? or place it on InformationScreen?

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      I suppose you should place it in another nested graph like you have seen in this video

    • @HendrawanDev
      @HendrawanDev 2 ปีที่แล้ว

      @@StevdzaSan So i have to create another BottomAppBar inside InformationScreen and hide the BottomAppBar from parent? If so, i believe it will works, but the structure of composition will be like this
      Scaffold
      --Content
      ----Scaffold
      ------bottomBar
      is Scaffold inside Scaffold normal?

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      Haven't done that kind of logic yet, so would have to experiment in order to find the best possible solution.

    • @HendrawanDev
      @HendrawanDev 2 ปีที่แล้ว

      @@StevdzaSan the bell already on, waiting for your next video. Keep it up!

    • @thomasgohringer5538
      @thomasgohringer5538 2 ปีที่แล้ว

      @@StevdzaSan Are you planning on making a video on this? I haven't found any resources on how to achieve this behaviour so far.

  • @progdeelite
    @progdeelite 2 ปีที่แล้ว

    Super nice and well explained. #top

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +2

      Thanks buddy 🙌

  • @francoisrochefort5759
    @francoisrochefort5759 2 ปีที่แล้ว

    Very nice thank you

  • @ApratimArora
    @ApratimArora 2 ปีที่แล้ว +1

    How can i achieve this without jetpack Compose? I still build apps using XML layout and kotlin. Kindly suggest me some article or youtube video..

  • @ahamedrizwan2053
    @ahamedrizwan2053 ปีที่แล้ว

    Nice brother
    Could you create another video demonstrating how to navigate to a specific compose screen when clicking a notification in a nested graph?

  • @javasync
    @javasync 2 ปีที่แล้ว

    Thank you so much!!!!

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      You're welcome! 💜

  • @kannanramakrishnan3052
    @kannanramakrishnan3052 ปีที่แล้ว

    thank you

  • @andikitta9480
    @andikitta9480 2 ปีที่แล้ว

    how to logout?

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      Logout what? 🤔

    • @andikitta9480
      @andikitta9480 2 ปีที่แล้ว

      @@StevdzaSan after press login button, we enter to the mainscreen, so my question is, how to logout back to the authentication screen from the mainscreen?

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      @@andikitta9480 Well if you pop the Authentication graph of the backstack, you can just explicitly navigate to that same graph again with navigate function.

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      And you can create the logic to dynamically calculate whether to show Home graph or Auth graph as a start destination based on the value saved in the app preferences for example. Bottom line, there are multiple ways...

    • @renanboni7636
      @renanboni7636 2 ปีที่แล้ว

      @@StevdzaSan there are multiple ways, could you please elaborate one? neither of what you said above will work, thank you

  • @olukayodepaul7070
    @olukayodepaul7070 2 ปีที่แล้ว

    You are bless.....

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว +1

      Thanks 💜

    • @olukayodepaul7070
      @olukayodepaul7070 2 ปีที่แล้ว

      Just implemented it.. it works like magic. Thanks

    • @StevdzaSan
      @StevdzaSan  2 ปีที่แล้ว

      @@olukayodepaul7070 Good job buddy 👏

  • @cuiteleo
    @cuiteleo 2 ปีที่แล้ว +3

    Best

  • @jopadjr
    @jopadjr 2 ปีที่แล้ว

    184th...I am a subscriber of your Udemy courses and nice to see your YT videos here.

  • @sayantanrc6194
    @sayantanrc6194 หลายเดือนก่อน

    This is really hacky. This is a 2 year old video, I don't know if there's a better approach in 2024.

  • @AndrewDChristie
    @AndrewDChristie 2 ปีที่แล้ว

    Thanks!