No video

Android ViewBinding in 8 Minutes

  Рет қаралды 76,554

Philipp Lackner

Philipp Lackner

Күн бұрын

This video teaches you everything you need to know about ViewBinding in Android.
⭐ Get certificates for your future job
⭐ Save countless hours of time
⭐ 100% money back guarantee for 30 days
⭐ Become a professional Android developer now:
pl-coding.com/...
Regular Android tutorials on my Instagram: / _philipplackner_
Checkout my GitHub: github.com/phi...

Пікірлер: 151
@PhilippLackner
@PhilippLackner 3 жыл бұрын
I forgot to mention in this video that you should also destroy your binding in the onDestroy() function. For that, simply make it nullable and set it to null in onDestroy
@samirbasnet9523
@samirbasnet9523 3 жыл бұрын
Hey Phillip great video, can you please explain why do we need to destroy the binding?
@derpizzaboi
@derpizzaboi 3 жыл бұрын
@@samirbasnet9523 i am not 100% shure, but i think the problem is that if you rotate your device, the view gets destroyed. if your rotated view is the same as the one before you dont have a problem. But if you have two diffrent views for portrait and landscape mode, you will get a null pointer exception because the view that is still stored in the binding variable is not on the screen anymore
@nousernamethx
@nousernamethx 3 жыл бұрын
@@samirbasnet9523 Fragments outlive their views. Make sure you clean up any references to the binding class instance in the fragment's onDestroyView() method.(taken from developers.android site)
@pratikmaurya7394
@pratikmaurya7394 3 жыл бұрын
@Dark Sigma Yes you can, and remember to use the double bang '!!' operator whenever referencing like binding!!.tvHelloWorld.text = "View Binding in Fragments"
@aghoghoakpedeye6396
@aghoghoakpedeye6396 2 жыл бұрын
@@samirbasnet9523 you destroy the binding to prevent potential data leakage
@amoliski
@amoliski 3 жыл бұрын
Wow, 3 minutes at 2x speed took care of every confusion I had after spending multiple hours in the official docs trying to figure this stuff out. Thanks!
@joegracey
@joegracey 2 жыл бұрын
I'm trying to learn Android development with Kotlin so thank you for this! Also, app dev is very difficult; way more than I thought it would be.
@Chinez
@Chinez 2 жыл бұрын
Way way difficult man
@MisterWealth
@MisterWealth Жыл бұрын
@@Chinez How has your progress been man
@jimlthor
@jimlthor Жыл бұрын
Funny how crazy it is. I know python, some java and C++ and have dabbled in Unreal Engine.. As simple as these apps look to a user, this shit is ridiculous.
@peyvandjadidi4395
@peyvandjadidi4395 3 жыл бұрын
thank you so much for this helpful video , i've been searching for 4 hours to learn viewBiniding but non of those i found were as simple and helpful as yours.
@user-dh8ui5hy7g
@user-dh8ui5hy7g 3 жыл бұрын
I love your tutorials i set a plan with my self to watch all of your tutorials from the beginning to the end.
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Good plan, thanks!
@user-dh8ui5hy7g
@user-dh8ui5hy7g 3 жыл бұрын
@@PhilippLacknerI checked your website you are genius, i will watch them all on your website because it allows us to learn step by step i mean it's more organized.
@m1eayoub152
@m1eayoub152 2 жыл бұрын
Man u saved the life of a new android developper
@user-gi4no6gn7m
@user-gi4no6gn7m 3 жыл бұрын
I'm not ready to move from kotlin synthetics😭 Btw Thank you for this video.
@ahmad7a.4k28
@ahmad7a.4k28 3 жыл бұрын
and now ;)
@user-gi4no6gn7m
@user-gi4no6gn7m 3 жыл бұрын
@@ahmad7a.4k28 ;)
@shaikhnabeel6443
@shaikhnabeel6443 3 жыл бұрын
kotlin synthetic is emotion
@VoidObj
@VoidObj 3 жыл бұрын
Thank you! Your english is so simple, i understand around 60-70% of text. It`s great for me!
@IceInMaWeiner
@IceInMaWeiner 2 жыл бұрын
Awesome tutorial with examples, I wish more tutorials would add Kotlin/Java in the title though. Haven't started learning Kotlin yet but still a good watch to understand the flow of binding
@parthpatel8173
@parthpatel8173 3 жыл бұрын
Personal Suggestion: Please use ViewBinding & DataBinding in your upcoming tutorials. So, it will be more clear to how can we use it in real projects.
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Only in the projects, not in these single tutorial, that just takes too long to setup everytime if I just make a 10min video
@parthpatel8173
@parthpatel8173 3 жыл бұрын
@@PhilippLackner Yes, that was I mean to say and forgot to specify it.
@marcel5235
@marcel5235 3 жыл бұрын
short helpful with fragments, liked subscribed, btw I do your fundamentals course on your web, very clean and relatively in date so it replaced the whole book I had about that. Keep going and If you will have some more advanced courses like Spotify clone and rest of them in future, hell even if they will be paid I will sign for them. You do a really great job to spread your knowledge and KUDOS to you :)
@BenKadel
@BenKadel 3 жыл бұрын
Awesome video, so well explained, thank you as always dude!
@PhilippLackner
@PhilippLackner 3 жыл бұрын
My pleasure!
@xD-saleem
@xD-saleem 3 жыл бұрын
i miss your intros with that hardcore music
@yanikhohner374
@yanikhohner374 3 жыл бұрын
Great job my german mate. You help my a lot!
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Danke 💪
@ronniepedersen4367
@ronniepedersen4367 3 жыл бұрын
Why are viewbinding not included in the default projects?
@Lyrics-bi8ig
@Lyrics-bi8ig Жыл бұрын
wondering too..
@raghavaggarwal8644
@raghavaggarwal8644 3 жыл бұрын
Thanks for the tutorial, then why we use android-kotlin-extensions? What's the difference between the two? which way is better?
@workwithray2569
@workwithray2569 3 жыл бұрын
You literally solved a weekend of headaches in 8 minutes
@footballCartoon91
@footballCartoon91 17 күн бұрын
This video is old, but useful
@_sharmaji.dev_
@_sharmaji.dev_ 3 жыл бұрын
you saved me Thanks for short and right to point video
@aginamabednego
@aginamabednego 2 жыл бұрын
Thank you once again. Straight to the point
@brianquigley1940
@brianquigley1940 3 ай бұрын
So... "binding" puts the physical address of a variable/view (their location in memory) in a variable? You then reference that area of memory? Or reference an offset to a part of that location in memor? e.g. root points to the base address and a textview points to its offset from that base address. Did I get this right?
@moriz8549
@moriz8549 3 жыл бұрын
awesome tutorial. you make it easy to understand
@axelasa277
@axelasa277 3 жыл бұрын
Ah, my man decided to grow his beared, awesome. DO you have a video on MVVM? for some reason I find you easy to understand.
@andressarebecapinheiro8061
@andressarebecapinheiro8061 2 жыл бұрын
Hey, thank you for the video and your time! How do you record your face with the content on the background? Which program and tools do you use?
@YukoshiHub
@YukoshiHub 3 жыл бұрын
Very simple! you're awesome. Thanks.
@yusufmiftahudeen
@yusufmiftahudeen 10 ай бұрын
i like this video, God bless you
@ShepherdSani
@ShepherdSani 3 жыл бұрын
Hey Philip Thank you very and so much for this video
@technics6215
@technics6215 Жыл бұрын
My Android Studio (in 2022), when I added new activity with navigation drawer created "private FragmentSomethingBinding binding;" for me, but it is without lateinit modifier. Something changed since 2020 when this tutorial was made?
@amanchaudhary8627
@amanchaudhary8627 Жыл бұрын
Thanku so much ❤️
@lokesharora8638
@lokesharora8638 2 жыл бұрын
thanks bro finally I understand
@Meru-pv9uj
@Meru-pv9uj 11 ай бұрын
Thanks, but idk why i needed to build graddle many times to be able to lateinit the binding
@jafartemirov7812
@jafartemirov7812 3 жыл бұрын
hi bro, Your tutorail is really good, there is no words to describe actually, Could you make video about Databinding and more advanced tutorail maybe kind of ecommerce app
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thanks, for more advanced tutorials checkout the courses on pl-coding.com :) Within the next week I'll publish a course about a social network there
@salarydost8147
@salarydost8147 3 жыл бұрын
Congratulations for 10 k subscribers
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you so much 😀
@kipbena8224
@kipbena8224 3 жыл бұрын
You forgot to destroy the binding..This prevents memory leaks
@PhilippLackner
@PhilippLackner 3 жыл бұрын
You are right, sorry for that
@thearpansircar
@thearpansircar 3 жыл бұрын
It's been a while since I saw one of your videos and holy fuck that beard looks awesome.
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thanks 😂
@imnithish
@imnithish 3 жыл бұрын
I'm now scared to update Android studio because Synthetic Binding got removed from new Android Studio version.
@riddhishah7708
@riddhishah7708 10 ай бұрын
Perfect explanation 👌
@AmitVerma-iq3oe
@AmitVerma-iq3oe Жыл бұрын
How can we use view reference while writing android test, Is there any way to mock view-binding
@amtrax02
@amtrax02 3 жыл бұрын
Great explained :D
@sodaguy5835
@sodaguy5835 3 жыл бұрын
underrated channel your content✌
@victor-ioncislari2375
@victor-ioncislari2375 2 жыл бұрын
How about letting the App run for an example?
@daiyrkanybekov8575
@daiyrkanybekov8575 3 жыл бұрын
Great Tutorial Philipp
@yossimaskin1393
@yossimaskin1393 2 жыл бұрын
What's your opinion on DataBinding? is it recommended? i don't see you using it in your tutorials
@aekazakgmail
@aekazakgmail 3 жыл бұрын
Thank you Philipp! Nice to see your face in video! Great style! I don’t like this new coding style with binding.textview1.... binding.button1... binding.whateverElse... Looks like as everything I can see is binding binding binding )) It drives me mad a little bit. So I renamed ‘binding’ class to just ‘b’. Works fine! Now I can see in my code: b.textview1.... b.button1... b.whateverElse... Looks much better for me! Keep it going, Philipp!
@miq0717
@miq0717 3 жыл бұрын
Which is better to use? viewbinding or Kotlin synthetics?
@MDDanishAnsariDev
@MDDanishAnsariDev 3 жыл бұрын
Don't I need to add in XML, or is it required only while using data binding?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Only for data binding
@MDDanishAnsariDev
@MDDanishAnsariDev 3 жыл бұрын
@@PhilippLackner cool. Thanks
@nomanzafarzafar7912
@nomanzafarzafar7912 3 жыл бұрын
Great effort bro. Keep it up.
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you, I will
@arulraj011988
@arulraj011988 3 жыл бұрын
How can I use view binding with base activity? In my application all activities extends a common Base activity where all common functionalities written.
@guitarbansi1
@guitarbansi1 3 жыл бұрын
If I need to access a layout in a different module, does ViewBinding still work?
@easelogic
@easelogic 3 жыл бұрын
yes
@easelogic
@easelogic 3 жыл бұрын
and by that class name you've to create a new inflator
@murml
@murml 3 жыл бұрын
Sadly getting an error if i follow your instruction: "Function invocation 'LayoutInflater(...)' expected" (line: "binding = ActivityMainBinding.inflate(LayoutInflater)"). Could you help please?
@murml
@murml 3 жыл бұрын
Found the problem: there seems to be a difference between LayoutInflater and layoutInflater (upper/lower case - lower works, if someone else got the same problem).
@mehulbisht9708
@mehulbisht9708 3 жыл бұрын
8:23 Reality - Philipp : use code Philipp15 for 15% discount. Kids : trying to use the code but failing because : Philip15 Phillip15 Phillipp15 Legends : Happy 15th Birthday Philipp ! 😂😂
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Who can't write my name properly doesn't deserve my premium courses 😂
@arpitgupta3151
@arpitgupta3151 3 жыл бұрын
15th? He's 15?
@xD-saleem
@xD-saleem 3 жыл бұрын
@@arpitgupta3151 LOL hes in his early 20s.
@TheAbhidugar
@TheAbhidugar 3 жыл бұрын
I used view binding. Also I used custom theme in manifest file to hide ActionBar in main activity only. But either it was giving InflateException or showing blank on phone when experimenting to make it work. I, then, removed view binding and used same old setcontentview(R.layout.activity_main) and IT WORKED. What am I be doing wrong using view binding? Can you please tell? and thanks for the video.
@spacegyaan2171
@spacegyaan2171 3 жыл бұрын
hey we can use the kotlin extensions also... why binding is better here?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
didn't I explain that in the video? :D
@codingwithsam4992
@codingwithsam4992 2 жыл бұрын
Thank you
@sidharthmanoj3343
@sidharthmanoj3343 2 жыл бұрын
Why does the package name of the generated binding class have "databinding" in it ? Does this mean that view binding is a part of data binding ?
@ferrianrp
@ferrianrp 3 жыл бұрын
Hi, i wan't to ask something. I used viewbinding inside fragment. And i have process like this, from activity A -> Activity B (Fragment A) and then i finished activity B. There is some error null Viewbinding when i go back to Activity B(Fragment A) and do some process. I don't know what happen. Can you give me a solution? thanks
@ulricha.abiguime7918
@ulricha.abiguime7918 Жыл бұрын
loved the video
@h.r.60
@h.r.60 3 жыл бұрын
i'm having issues with using my own custom library. I publish it to github but when i implement it in the build.gradle, my android studio doesn't allow me to call any of my library's classes. any suggestions?
@AnhNguyen-qd8cm
@AnhNguyen-qd8cm 3 жыл бұрын
thanks you so muck
@vidakamalifar7459
@vidakamalifar7459 3 жыл бұрын
Hello, I have a question : When I want to import ActivityMainBinding is imported with: import com.dagger.hilt.databinding.ActivityMainBinding Then I got this error in compile: error: [Hilt] androidx.core.app.ActivityCompat, expected to be annotated with @DefineComponent. Found: [Hilt] What is wrong? I did the code step by step with you
@devanshmaurya9928
@devanshmaurya9928 3 жыл бұрын
It seems that this buildFeatures { viewBinding true } Is replaced with viewBinding { enabled true }
@sonnysarcia6947
@sonnysarcia6947 3 жыл бұрын
i think viewBinding is from android studio version 3.6 and higher.....buildFeatures is 4.0 and higher
@yutaitadori7318
@yutaitadori7318 3 жыл бұрын
Hey great tutorial 💓
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you! 😊
@MCStarYT
@MCStarYT 3 жыл бұрын
Very nice video
@jishnunkrishnan5783
@jishnunkrishnan5783 3 жыл бұрын
Thank you!
@odh_konkanchi
@odh_konkanchi 3 жыл бұрын
How to use ViewBinding in BaseActivity class which has its own Ui in activity_base.xml? and how to access these views in BaseActivity?
@tusharhatwar4374
@tusharhatwar4374 3 жыл бұрын
I know this is not right place to request you but can you please make one video on mediaplayer to read multiple song from URL and play using mediaplayer only in kotlin? There is known video tutorial available on KZbin as of now .
@PhilippLackner
@PhilippLackner 3 жыл бұрын
I have an entire playlist about exoplayer to make a full music streaming player
@tusharhatwar4374
@tusharhatwar4374 3 жыл бұрын
@@PhilippLackner yes I know but i don't want using any other library I want using mediaplayer .....I have also commented on that video playlist for same request
@siddharthagrawal6157
@siddharthagrawal6157 3 жыл бұрын
Really amazing
@gauravthakkar802
@gauravthakkar802 3 жыл бұрын
Why do we put the layout inside the fragment constructor?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Fastest way to set the layout
@androidterminal3924
@androidterminal3924 2 жыл бұрын
best video
@yahyafati
@yahyafati 3 жыл бұрын
I trust you man
@mdjahidulislam9205
@mdjahidulislam9205 3 жыл бұрын
Thanks a lot
@chiragprajapati3989
@chiragprajapati3989 3 жыл бұрын
How can we use viewBinding if we have BaseFragment or BaseActivity ?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
sure
@syedfilms4447
@syedfilms4447 2 жыл бұрын
thanks alot
@kadrsnr
@kadrsnr 2 жыл бұрын
thank youu
@user-nz6vg1vn5u
@user-nz6vg1vn5u 3 жыл бұрын
thanks
@user-mz1qg6td2e
@user-mz1qg6td2e 7 ай бұрын
hi i am new to android can anyone tell me how to destroy the binding like can you give me the code pls
@MtaufiqH731
@MtaufiqH731 3 жыл бұрын
Interesting!
@dreamer6228751
@dreamer6228751 3 жыл бұрын
Interested theme )
@TZCoder
@TZCoder 3 жыл бұрын
I wish someone would make a 3rd party synthetics alternative much cleaner than this.
@shreyashchoudhary7413
@shreyashchoudhary7413 3 жыл бұрын
Epic!
@arpitgupta3151
@arpitgupta3151 3 жыл бұрын
7:36 FragmentTestBinding is not showing
@kamaldubey3382
@kamaldubey3382 Жыл бұрын
viewbinding is throwing error in inflating ActivityMainBinding
@gurthang061
@gurthang061 Жыл бұрын
did you solve it?
@kamaldubey3382
@kamaldubey3382 Жыл бұрын
@@gurthang061 yes
@leonidas_30052
@leonidas_30052 3 жыл бұрын
How would the viewBinding for the adapter look, would anyone know?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
The same way you do it else where. Instead of a view you pass the binding in your viewholder and then you inflate it in with the binding instead
@leonidas_30052
@leonidas_30052 3 жыл бұрын
@@PhilippLackner That's right, I thought there was something else, but I tried the implementation yesterday and everything went well. Thanks Philipe, you are a thousand =)
@jonplaud
@jonplaud 3 жыл бұрын
Android better make updates, I thought something was wrong with my program. I am trying to get my Android cert and this came up. #Frustrated
@mustafashaikh7829
@mustafashaikh7829 3 жыл бұрын
nice :)
@ofoefulechristian9684
@ofoefulechristian9684 3 жыл бұрын
Where we are with Android dev: Learning something new that we know is soon to be deprecated 😅 #jetpackcompose
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Just because jetpack compose will be out doesn't mean you don't need to understand XML. There will be SO MUCH legacy code in the internet and especially companies can't just casually switch to compose if they have big apps using XML. Also, it'll take some time till compose is stable and not in alpha anymore
@ofoefulechristian9684
@ofoefulechristian9684 3 жыл бұрын
@@PhilippLackner I totally agree. Its just that sometimes it's overwhelming to keep-up with so many changes. I'm currently using ViewBinding in some projects too and its super cool! Thanks for been awesome!!
@feepin2058
@feepin2058 3 жыл бұрын
One more reason to name views' id in java convention
@MateusMeurer
@MateusMeurer 3 жыл бұрын
Thank Philipp very clear! but, fuck them I'm staying with synthetics for as long as I can -.-"
@mohdz4217
@mohdz4217 5 ай бұрын
ربي يزوجك
@johnkline4350
@johnkline4350 2 жыл бұрын
Synthetics is pronounced: Sin-theh-ticks. Not Sint-het-icks.
@ojiidroid
@ojiidroid 3 жыл бұрын
can you teach me how to interpret smali code?
@ajaygalagali5963
@ajaygalagali5963 3 жыл бұрын
😀
@username-dh4tq
@username-dh4tq 2 жыл бұрын
#mTV :
@jeffh.8127
@jeffh.8127 2 жыл бұрын
Too much talking and not enough showing.
@miyamoto856
@miyamoto856 2 жыл бұрын
thank you
TOASTS AND CONTEXT - Android Fundamentals
16:51
Philipp Lackner
Рет қаралды 37 М.
5 Signs of an Inexperienced Self-Taught Developer (and how to fix)
8:40
Zombie Boy Saved My Life 💚
00:29
Alan Chikin Chow
Рет қаралды 33 МЛН
Люблю детей 💕💕💕🥰 #aminkavitaminka #aminokka #miminka #дети
00:24
Аминка Витаминка
Рет қаралды 1,2 МЛН
مسبح السرير #قصير
00:19
سكتشات وحركات
Рет қаралды 11 МЛН
The Most Legendary Programmers Of All Time
11:49
Aaron Jack
Рет қаралды 555 М.
~/.dotfiles in 100 Seconds
13:54
Fireship
Рет қаралды 417 М.
FRAGMENTS - Android Fundamentals
17:29
Philipp Lackner
Рет қаралды 329 М.
How to make a Splash Screen without extra Activity in Android
9:48
Philipp Lackner
Рет қаралды 86 М.
ViewModels & Configuration Changes - Android Basics 2023
18:46
Philipp Lackner
Рет қаралды 116 М.
If __name__ == "__main__" for Python Developers
8:47
Python Simplified
Рет қаралды 399 М.
Coding Was HARD Until I Learned These 5 Things...
8:34
Elsa Scola
Рет қаралды 341 М.
ViewModel Explained - Android Architecture Component | Tutorial
8:27