No video

Android ViewBinding in 8 Minutes

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

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!
@m1eayoub152
@m1eayoub152 2 жыл бұрын
Man u saved the life of a new android developper
@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.
@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.
@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.
@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
@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 2 жыл бұрын
kotlin synthetic is emotion
@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.
@footballCartoon91
@footballCartoon91 Күн бұрын
This video is old, but useful
@BenKadel
@BenKadel 3 жыл бұрын
Awesome video, so well explained, thank you as always dude!
@PhilippLackner
@PhilippLackner 3 жыл бұрын
My pleasure!
@yanikhohner374
@yanikhohner374 3 жыл бұрын
Great job my german mate. You help my a lot!
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Danke 💪
@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 :)
@workwithray2569
@workwithray2569 2 жыл бұрын
You literally solved a weekend of headaches in 8 minutes
@xD-saleem
@xD-saleem 3 жыл бұрын
i miss your intros with that hardcore music
@ronniepedersen4367
@ronniepedersen4367 3 жыл бұрын
Why are viewbinding not included in the default projects?
@Lyrics-bi8ig
@Lyrics-bi8ig 11 ай бұрын
wondering too..
@_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
@Meru-pv9uj
@Meru-pv9uj 10 ай бұрын
Thanks, but idk why i needed to build graddle many times to be able to lateinit the binding
@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?
@imnithish
@imnithish 3 жыл бұрын
I'm now scared to update Android studio because Synthetic Binding got removed from new Android Studio version.
@YukoshiHub
@YukoshiHub 3 жыл бұрын
Very simple! you're awesome. Thanks.
@lokesharora8638
@lokesharora8638 2 жыл бұрын
thanks bro finally I understand
@victor-ioncislari2375
@victor-ioncislari2375 2 жыл бұрын
How about letting the App run for an example?
@yusufmiftahudeen
@yusufmiftahudeen 9 ай бұрын
i like this video, God bless you
@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?
@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
@amtrax02
@amtrax02 3 жыл бұрын
Great explained :D
@amanchaudhary8627
@amanchaudhary8627 Жыл бұрын
Thanku so much ❤️
@ShepherdSani
@ShepherdSani 3 жыл бұрын
Hey Philip Thank you very and so much for this video
@AmitVerma-iq3oe
@AmitVerma-iq3oe Жыл бұрын
How can we use view reference while writing android test, Is there any way to mock view-binding
@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!
@kipbena8224
@kipbena8224 3 жыл бұрын
You forgot to destroy the binding..This prevents memory leaks
@PhilippLackner
@PhilippLackner 3 жыл бұрын
You are right, sorry for that
@sodaguy5835
@sodaguy5835 3 жыл бұрын
underrated channel your content✌
@riddhishah7708
@riddhishah7708 10 ай бұрын
Perfect explanation 👌
@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.
@codingwithsam4992
@codingwithsam4992 2 жыл бұрын
Thank 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
@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
@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.
@ulricha.abiguime7918
@ulricha.abiguime7918 Жыл бұрын
loved the video
@daiyrkanybekov8575
@daiyrkanybekov8575 3 жыл бұрын
Great Tutorial Philipp
@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).
@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.
@AnhNguyen-qd8cm
@AnhNguyen-qd8cm 3 жыл бұрын
thanks you so muck
@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?
@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
@miq0717
@miq0717 3 жыл бұрын
Which is better to use? viewbinding or Kotlin synthetics?
@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 😂
@miyamoto856
@miyamoto856 2 жыл бұрын
thank you
@andressarebecapinheiro8061
@andressarebecapinheiro8061 Жыл бұрын
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?
@yossimaskin1393
@yossimaskin1393 2 жыл бұрын
What's your opinion on DataBinding? is it recommended? i don't see you using it in your tutorials
@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 ?
@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
@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?
@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
@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
@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.
@salarydost8147
@salarydost8147 3 жыл бұрын
Congratulations for 10 k subscribers
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you so much 😀
@nomanzafarzafar7912
@nomanzafarzafar7912 3 жыл бұрын
Great effort bro. Keep it up.
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you, I will
@jishnunkrishnan5783
@jishnunkrishnan5783 3 жыл бұрын
Thank you!
@syedfilms4447
@syedfilms4447 2 жыл бұрын
thanks alot
@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
@arpitgupta3151
@arpitgupta3151 3 жыл бұрын
7:36 FragmentTestBinding is not showing
@gauravthakkar802
@gauravthakkar802 3 жыл бұрын
Why do we put the layout inside the fragment constructor?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Fastest way to set the layout
@yutaitadori7318
@yutaitadori7318 3 жыл бұрын
Hey great tutorial 💓
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you! 😊
@siddharthagrawal6157
@siddharthagrawal6157 3 жыл бұрын
Really amazing
@mdjahidulislam9205
@mdjahidulislam9205 3 жыл бұрын
Thanks a lot
@kadrsnr
@kadrsnr 2 жыл бұрын
thank youu
@MCStarYT
@MCStarYT 3 жыл бұрын
Very nice video
@chiragprajapati3989
@chiragprajapati3989 3 жыл бұрын
How can we use viewBinding if we have BaseFragment or BaseActivity ?
@PhilippLackner
@PhilippLackner 3 жыл бұрын
sure
@TZCoder
@TZCoder 3 жыл бұрын
I wish someone would make a 3rd party synthetics alternative much cleaner than this.
@yahyafati
@yahyafati 3 жыл бұрын
I trust you man
@androidterminal3924
@androidterminal3924 2 жыл бұрын
best video
@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
@user-nz6vg1vn5u
@user-nz6vg1vn5u 3 жыл бұрын
thanks
@kamaldubey3382
@kamaldubey3382 Жыл бұрын
viewbinding is throwing error in inflating ActivityMainBinding
@gurthang061
@gurthang061 Жыл бұрын
did you solve it?
@kamaldubey3382
@kamaldubey3382 Жыл бұрын
@@gurthang061 yes
@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 KZfaq 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
@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 =)
@dreamer6228751
@dreamer6228751 3 жыл бұрын
Interested theme )
@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
@MtaufiqH731
@MtaufiqH731 3 жыл бұрын
Interesting!
@shreyashchoudhary7413
@shreyashchoudhary7413 3 жыл бұрын
Epic!
@feepin2058
@feepin2058 3 жыл бұрын
One more reason to name views' id in java convention
@mustafashaikh7829
@mustafashaikh7829 3 жыл бұрын
nice :)
@MateusMeurer
@MateusMeurer 3 жыл бұрын
Thank Philipp very clear! but, fuck them I'm staying with synthetics for as long as I can -.-"
@ojiidroid
@ojiidroid 3 жыл бұрын
can you teach me how to interpret smali code?
@johnkline4350
@johnkline4350 2 жыл бұрын
Synthetics is pronounced: Sin-theh-ticks. Not Sint-het-icks.
@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!!
@mohdz4217
@mohdz4217 4 ай бұрын
ربي يزوجك
@username-dh4tq
@username-dh4tq Жыл бұрын
#mTV :
@jeffh.8127
@jeffh.8127 2 жыл бұрын
Too much talking and not enough showing.
@ajaygalagali5963
@ajaygalagali5963 3 жыл бұрын
😀
ViewModels & Configuration Changes - Android Basics 2023
18:46
Philipp Lackner
Рет қаралды 113 М.
Make Your Code Clean With the SOLID Principles
18:24
Philipp Lackner
Рет қаралды 97 М.
Comfortable 🤣 #comedy #funny
00:34
Micky Makeover
Рет қаралды 16 МЛН
Bony Just Wants To Take A Shower #animation
00:10
GREEN MAX
Рет қаралды 7 МЛН
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Cool Tool SHORTS Netherlands
Рет қаралды 4,4 МЛН
Идеально повторил? Хотите вторую часть?
00:13
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 18 МЛН
INTENTS AND STARTING ACTIVITIES - Android Fundamentals
16:11
Philipp Lackner
Рет қаралды 68 М.
Let, Also, Apply, Run, With - Kotlin Scope Functions
11:44
Philipp Lackner
Рет қаралды 95 М.
View Binding vs Data Binding - Explained | Android Development
5:09
FRAGMENTS - Android Fundamentals
17:29
Philipp Lackner
Рет қаралды 327 М.
6 Design Patterns Every Android Developer Must Know
14:16
Philipp Lackner
Рет қаралды 80 М.
CONSTRAINT LAYOUT BASICS - Android Fundamentals
14:02
Philipp Lackner
Рет қаралды 79 М.
Foreground Services - Android Basics 2023
22:22
Philipp Lackner
Рет қаралды 75 М.
Shrink, Optimize and Secure Your App With R8 & ProGuard - Full Guide
18:08
Comfortable 🤣 #comedy #funny
00:34
Micky Makeover
Рет қаралды 16 МЛН