Are SOLID principles overrated?
19:57
Пікірлер
@kumarbharani2718
@kumarbharani2718 6 күн бұрын
waiting for next videos
@Hopeful_M.B
@Hopeful_M.B 11 күн бұрын
sir, You're an amazing teacher... Thanks 🙏.
@rishabhsingh3873
@rishabhsingh3873 13 күн бұрын
sir please lower the intro volume music sound it sounds very loud and uncomfortable while watching the video wearing earphones
@himanshukandwal8710
@himanshukandwal8710 14 күн бұрын
thanks in advance.
@Pooja-d7k1c
@Pooja-d7k1c 17 күн бұрын
Can we create multiple NavHosts? because we provide a start destination to a NavHost, what if I have a different screen, which has different navigation destinations?
@virendrahaldkar3895
@virendrahaldkar3895 17 күн бұрын
Hi Sir, could you please provide the HAL related series
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding 17 күн бұрын
@@virendrahaldkar3895 what is HAL?
@himanshukandwal8710
@himanshukandwal8710 14 күн бұрын
do u mean, Hardware Acceleration Layer?
@darshinisiripuram5167
@darshinisiripuram5167 17 күн бұрын
@akiyai
@akiyai 17 күн бұрын
Thank you very much for this tutorial. Really a very useful, explanatory and complete one. I have learned a lot from it. God bless you!
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding 17 күн бұрын
Glad it was helpful! Feel free to explore other content on the channel. Hope you have subscribed
@personalexperiences8665
@personalexperiences8665 18 күн бұрын
Sir, On Screen Second , At "Click for Previous" button if we write "navcontroller.navigate("screen-one")" instead of navcontroller.popBackStack(). So i think it will also work then why pop of screen is necessary and what happen if we not use popBackStack() and only use navcontroller.navigate() to move from one screen to other in whole app
@VinayNagarjuna-t2y
@VinayNagarjuna-t2y 18 күн бұрын
hi Anil Desh Pande, i am following live data approach like below. viewModel.let { vm -> vm?.counter?.observeAsState()?.value?.let { counter -> Log.i("Updated", "The updated value is $counter") } vm?.error?.observeAsState()?.value?.let { error -> Toast.makeText(LocalContext.current, error, Toast.LENGTH_SHORT).show() } } ----------------------------------------------- class MainActivityViewModel : ViewModel() { companion object { const val TAG = "MainActivityViewModel" } var counter = MutableLiveData(0) var error = MutableLiveData<String>() val incrementCounter = { Log.i(TAG, "The counter value is $counter") counter.value = counter.value?.plus(1) } val decrementCounter = { if (counter.value == 0) { if (error.value == null) { error.value = "Counter can not be less than 0" } } else { Log.i(TAG, "The counter value is $counter") counter.value = counter.value?.minus(1) } } } how can use derivedStateOf here?
@yusufhandal9758
@yusufhandal9758 18 күн бұрын
source code please
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding 17 күн бұрын
The description section of the video has GitHub link to the code shown in the demo. Please check
@shilpicasinha9493
@shilpicasinha9493 18 күн бұрын
Do you have any series for beginners ? I am looking to learn Android. Thanks
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding 17 күн бұрын
I have. You can start going through kzbin.info/www/bejne/fZeUn5ZvdqyhkJI&pp=gAQB & kzbin.info/www/bejne/a2W4nomCbKuhZrc&pp=gAQB
@goosfraba-man
@goosfraba-man 19 күн бұрын
great video! I love your music/sound choices too btw
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding 17 күн бұрын
Thank you!!
@psgwei3875
@psgwei3875 20 күн бұрын
Problems you may encounter when trying to follow the JSON serialization part 1. plugin and dependency for the serialization 2. internet permission 3. emulator's buffer problem (use coroutine)
@melkor1177
@melkor1177 21 күн бұрын
Your voice is too low.
@psgwei3875
@psgwei3875 22 күн бұрын
interested in learning JSON serialization 🖐
@MrACrazyHobo
@MrACrazyHobo 23 күн бұрын
My mind was blown when the views had different implementations of showAllToDos, but the controller method remained the same! Really demonstrating how easily you can swap out views but keep controller the same
@olamao
@olamao 24 күн бұрын
Excellent series, such clarity and so much for me to finally learn after reading and watching so many times these concepts. I am looking forward to your videos and will review the whole channel. Thanks so much.
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding 23 күн бұрын
@@olamao thanks for the kind words. Hope you have subscribed. Feel free to explore other content on channel.
@olamao
@olamao 23 күн бұрын
@@Codetutor-DemystifyCoding I did subscribed. And I followed the room playlist, which help me a Lot in My undestanding as well. Good timing and perfect combination of explanation and Practice. I hope i can advance in My project to be able to get experts like You On board.
@antuyet2458
@antuyet2458 25 күн бұрын
thank you, i searched a lot of videos on youtube but still couldn't solve the problem until i watched your videos, they are very good, very detailed and solved all my problems, wish you good health!
@SumedhSen97
@SumedhSen97 26 күн бұрын
Absolutely loved the demo. The way you were showing each combination of starting, binding, unbinding and stopping clarified the behavior of bound services really well. Thank you so much Anil Sir
@ashishtiwadi
@ashishtiwadi 28 күн бұрын
ur srp example is not correct. it is more related to dependency inversion.
@LampMotivate
@LampMotivate Ай бұрын
Great video
@Pooja-d7k1c
@Pooja-d7k1c Ай бұрын
I just want to take a moment to appreciate your teaching style, sir. You explain concepts in a way that even people from non-technical backgrounds can easily understand. I often struggle with learning new Android concepts when following documentation or other KZbin channels. But on your channel, in every explanation, you ensure that we fully grasp the foundational concepts before moving on to the current topic. You always give us a clear heads-up on what basics we need to know, making it much easier to follow along. Many KZbinrs tend to skip this step, which is why I always prefer learning from your channel first before diving into the documentation. I even suggest your channel to my friends. Thank you so much!
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
@@Pooja-d7k1c Thanks kind words. Much appreciated
@g3mint446
@g3mint446 Ай бұрын
You don't seem to understand the difference yourself. The differentiation you made was, a thing use a thing. Than the client is the high level module. That is just false.
@2chotti
@2chotti Ай бұрын
Thank you sir...Eagerly waiting
@abu_umm_culsum
@abu_umm_culsum Ай бұрын
My English level is A2 and I can understand your lesson, because you speak not too fast and the same time your pronounciation is clear and you use simple English words. It is very cool)) Thanks a lot for the lesson!)))
@sivaraj4367
@sivaraj4367 Ай бұрын
Volume is very low
@robertvandeijck4057
@robertvandeijck4057 Ай бұрын
Until now, everything went very smoothly. But the whole serialisation is a big thing and the much appreciated step-by-step approach, is suddenly gone. 1. Dowloaded parsing-from-json from Github. --> Incompatible Gradle JVM. We recommend upgrading to Gradle version 8.9. So I did. 2. Open data class Country. Error message: This declaration is opt-in and its usage should be marked with `@kotlinx.serialization.InternalSerializationApi` or `@OptIn(markerClass = kotlinx.serialization.InternalSerializationApi.class)` Back to demo app. 3. You quickly scroll over the updated MainActivity, but several things have changed. val countries became countryList etc. 4. Just like previous video, LazyColumn dit not work. So I updated again. 5. App installs successfully, but a split second later it crashes. Perhaps you cannot help me with everything, but please explain the serialisation. And why suddenly such a complicated json file, to start with? Again, what happened to your step-by-step approach?
@santoshbhatt6924
@santoshbhatt6924 Ай бұрын
Waiting Sir...
@ShivamVermaokdone
@ShivamVermaokdone Ай бұрын
sir I want to ask about the issue (you were getting only one country inserted in room db), you said the reason was that we were initializing that to 0 every time, but my doubt is why the ID is autogenerated and 0 is getting replaced by the autogenerated one, although it is notated as autogenerate = true??
@santoshbhatt6924
@santoshbhatt6924 Ай бұрын
Yes sir please upload the videos soon.
@ShivamVermaokdone
@ShivamVermaokdone Ай бұрын
why you have written two update function, a special one to update the attribute capital - it can be updated using simple update function ???
@ShivamVermaokdone
@ShivamVermaokdone Ай бұрын
great sir, i am a bca 2nd year student right now. learning android development since 6 months but your videos gave me clarity!!! thanks !!
@robertvandeijck4057
@robertvandeijck4057 Ай бұрын
Your LazyColumn did not work for me. I replaced it with: items(countries.size) { index -> CountryCard(countries[index]) }
@robertvandeijck4057
@robertvandeijck4057 Ай бұрын
You make great tutorials. Like a good teacher, you build things up. That helps you to distinguish between the essence and the 'nice-to-have' parts of the topic. Also the graphic introduction is very helpful. Please zoom in more. It is difficult to read (resolution is also too low). Also sound should be louder. Keep up the good work!
@chetangp
@chetangp Ай бұрын
I used to watch your videos in 2018 and learnt a lot of Android concepts from your videos. Nice to see AI videos now. Thanks for all the videos
@shankerraoprodduturi
@shankerraoprodduturi Ай бұрын
great work sir thanks a lot
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
@@shankerraoprodduturi thanks for the kind words. Feel free to explore other content on channel.
@shankerraoprodduturi
@shankerraoprodduturi Ай бұрын
super
@vinaykumarnagarjuna2452
@vinaykumarnagarjuna2452 Ай бұрын
Eagerly waiting for these series ❤
@dharmesh1153
@dharmesh1153 Ай бұрын
sir i started my career in android development ,is there is any onsite opportunities for android development like other domains ,because i never heard some one got onsite opportunities who works in android
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
@@dharmesh1153 it purely depends on company and work, being at right place and right time. I have seen it happen many times.
@vengateshm2122
@vengateshm2122 Ай бұрын
Seperating ViewModel into two one for data and another for ui state comply with SRP principle. However, additional memory consumed for ui viewmodel class which may grow if we have many screens especially.
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
@@vengateshm2122 Yes, in this case it was only one screen, we did it, but view model is a very heavy system managed resource and we need to careful on how many instances of View model are we creating.
@JayaPrakashT-l3i
@JayaPrakashT-l3i Ай бұрын
Thank you! This is the clearest explanation I've come across.
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
You're very welcome!
@KaushalSingh-oi5gd
@KaushalSingh-oi5gd Ай бұрын
Sir what if we just want 5 items nd when user comes to end load 5 more
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
It's called infinite scroll and very common feature, please check it our on web. You will have to track the the position of the scroll to device when to trigger the API to load the data. Check out - *rememberLazyListState* . Whether you scroll for five more or ten, more depends on your APIs pagination size.
@arshadansari1731
@arshadansari1731 Ай бұрын
sir its not working for me the client app is not binding 😔
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
Did you check out the code from GitHub and compare?
@KaushalSingh-oi5gd
@KaushalSingh-oi5gd Ай бұрын
Sir u havent added firestore Dependency yet
@Codetutor-DemystifyCoding
@Codetutor-DemystifyCoding Ай бұрын
For working with Room database we don't need Firestore, at least not at the time of publishing this video. I hope I understood your question correctly.