Android ViewBinding in 8 Minutes

  Рет қаралды 77,551

Philipp Lackner

Philipp Lackner

Күн бұрын

Пікірлер: 151
@PhilippLackner
@PhilippLackner 4 жыл бұрын
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 3 жыл бұрын
@@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!
@secbdarija
@secbdarija 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 3 жыл бұрын
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 2 жыл бұрын
@@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.
@البرمجةللجميع-د4ظ
@البرمجةللجميع-د4ظ 4 жыл бұрын
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 4 жыл бұрын
Good plan, thanks!
@البرمجةللجميع-د4ظ
@البرمجةللجميع-د4ظ 4 жыл бұрын
@@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
@スヘア
@スヘア 4 жыл бұрын
I'm not ready to move from kotlin synthetics😭 Btw Thank you for this video.
@ahmad7a.4k28
@ahmad7a.4k28 3 жыл бұрын
and now ;)
@スヘア
@スヘア 3 жыл бұрын
@@ahmad7a.4k28 ;)
@shaikhnabeel6443
@shaikhnabeel6443 3 жыл бұрын
kotlin synthetic is emotion
@parthpatel8173
@parthpatel8173 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@PhilippLackner Yes, that was I mean to say and forgot to specify it.
@BenKadel
@BenKadel 4 жыл бұрын
Awesome video, so well explained, thank you as always dude!
@PhilippLackner
@PhilippLackner 4 жыл бұрын
My pleasure!
@yanikhohner374
@yanikhohner374 3 жыл бұрын
Great job my german mate. You help my a lot!
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Danke 💪
@xD-saleem
@xD-saleem 3 жыл бұрын
i miss your intros with that hardcore music
@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 3 жыл бұрын
You literally solved a weekend of headaches in 8 minutes
@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?
@_sharmaji.dev_
@_sharmaji.dev_ 3 жыл бұрын
you saved me Thanks for short and right to point video
@brianquigley1940
@brianquigley1940 6 ай бұрын
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?
@riddhishah7708
@riddhishah7708 Жыл бұрын
Perfect explanation 👌
@aginamabednego
@aginamabednego 2 жыл бұрын
Thank you once again. Straight to the point
@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?
@moriz8549
@moriz8549 3 жыл бұрын
awesome tutorial. you make it easy to understand
@technics6215
@technics6215 2 жыл бұрын
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?
@sodaguy5835
@sodaguy5835 3 жыл бұрын
underrated channel your content✌
@hacheguioneme
@hacheguioneme 3 жыл бұрын
Very simple! you're awesome. Thanks.
@ronniepedersen4367
@ronniepedersen4367 3 жыл бұрын
Why are viewbinding not included in the default projects?
@Lyrics-bi8ig
@Lyrics-bi8ig Жыл бұрын
wondering too..
@miq0717
@miq0717 4 жыл бұрын
Which is better to use? viewbinding or Kotlin synthetics?
@footballCartoon91
@footballCartoon91 2 ай бұрын
This video is old, but useful
@MDDanishAnsariDev
@MDDanishAnsariDev 4 жыл бұрын
Don't I need to add in XML, or is it required only while using data binding?
@PhilippLackner
@PhilippLackner 4 жыл бұрын
Only for data binding
@MDDanishAnsariDev
@MDDanishAnsariDev 4 жыл бұрын
@@PhilippLackner cool. Thanks
@ForexDude1
@ForexDude1 4 жыл бұрын
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
@salarydost8147
@salarydost8147 4 жыл бұрын
Congratulations for 10 k subscribers
@PhilippLackner
@PhilippLackner 4 жыл бұрын
Thank you so much 😀
@daiyrkanybekov8575
@daiyrkanybekov8575 3 жыл бұрын
Great Tutorial Philipp
@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.
@yossimaskin1393
@yossimaskin1393 2 жыл бұрын
What's your opinion on DataBinding? is it recommended? i don't see you using it in your tutorials
@yusufmiftahudeen
@yusufmiftahudeen Жыл бұрын
i like this video, God bless you
@Meru-pv9uj
@Meru-pv9uj Жыл бұрын
Thanks, but idk why i needed to build graddle many times to be able to lateinit the binding
@jafartemirov7812
@jafartemirov7812 4 жыл бұрын
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 4 жыл бұрын
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
@nomanzafarzafar7912
@nomanzafarzafar7912 3 жыл бұрын
Great effort bro. Keep it up.
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you, I will
@victor-ioncislari2375
@victor-ioncislari2375 2 жыл бұрын
How about letting the App run for an example?
@lokesharora8638
@lokesharora8638 2 жыл бұрын
thanks bro finally I understand
@amtrax02
@amtrax02 3 жыл бұрын
Great explained :D
@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
@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.
@imnithish
@imnithish 4 жыл бұрын
I'm now scared to update Android studio because Synthetic Binding got removed from new Android Studio version.
@amanchaudhary8627
@amanchaudhary8627 Жыл бұрын
Thanku so much ❤️
@h.r.60
@h.r.60 4 жыл бұрын
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?
@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 ?
@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
@mehulbisht9708
@mehulbisht9708 4 жыл бұрын
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 4 жыл бұрын
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.
@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
@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
@kipbena8224
@kipbena8224 4 жыл бұрын
You forgot to destroy the binding..This prevents memory leaks
@PhilippLackner
@PhilippLackner 4 жыл бұрын
You are right, sorry for that
@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.
@thearpansircar
@thearpansircar 4 жыл бұрын
It's been a while since I saw one of your videos and holy fuck that beard looks awesome.
@PhilippLackner
@PhilippLackner 4 жыл бұрын
Thanks 😂
@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).
@yutaitadori7318
@yutaitadori7318 3 жыл бұрын
Hey great tutorial 💓
@PhilippLackner
@PhilippLackner 3 жыл бұрын
Thank you! 😊
@MCStarYT
@MCStarYT 4 жыл бұрын
Very nice video
@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?
@ulricha.abiguime7918
@ulricha.abiguime7918 2 жыл бұрын
loved the video
@codingwithsam4992
@codingwithsam4992 2 жыл бұрын
Thank you
@jishnunkrishnan5783
@jishnunkrishnan5783 3 жыл бұрын
Thank you!
@gauravthakkar802
@gauravthakkar802 4 жыл бұрын
Why do we put the layout inside the fragment constructor?
@PhilippLackner
@PhilippLackner 4 жыл бұрын
Fastest way to set the layout
@siddharthagrawal6157
@siddharthagrawal6157 4 жыл бұрын
Really amazing
@AnhNguyen-qd8cm
@AnhNguyen-qd8cm 3 жыл бұрын
thanks you so muck
@mdjahidulislam9205
@mdjahidulislam9205 4 жыл бұрын
Thanks a lot
@chiragprajapati3989
@chiragprajapati3989 4 жыл бұрын
How can we use viewBinding if we have BaseFragment or BaseActivity ?
@PhilippLackner
@PhilippLackner 4 жыл бұрын
sure
@yahyafati
@yahyafati 3 жыл бұрын
I trust you man
@androidterminal3924
@androidterminal3924 2 жыл бұрын
best video
@syedfilms4447
@syedfilms4447 2 жыл бұрын
thanks alot
@dreamer6228751
@dreamer6228751 4 жыл бұрын
Interested theme )
@자유야놀자
@자유야놀자 4 жыл бұрын
thanks
@tusharhatwar4374
@tusharhatwar4374 4 жыл бұрын
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 4 жыл бұрын
I have an entire playlist about exoplayer to make a full music streaming player
@tusharhatwar4374
@tusharhatwar4374 4 жыл бұрын
@@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
@cinemovieone
@cinemovieone 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
@cinemovieone
@cinemovieone 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 =)
@kadrsnr
@kadrsnr 2 жыл бұрын
thank youu
@MtaufiqH731
@MtaufiqH731 4 жыл бұрын
Interesting!
@MohammedAshlabN23MIA108
@MohammedAshlabN23MIA108 9 ай бұрын
hi i am new to android can anyone tell me how to destroy the binding like can you give me the code pls
@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
@kamal-i7d1m
@kamal-i7d1m Жыл бұрын
viewbinding is throwing error in inflating ActivityMainBinding
@gurthang061
@gurthang061 Жыл бұрын
did you solve it?
@kamal-i7d1m
@kamal-i7d1m Жыл бұрын
@@gurthang061 yes
@ofoefulechristian9684
@ofoefulechristian9684 4 жыл бұрын
Where we are with Android dev: Learning something new that we know is soon to be deprecated 😅 #jetpackcompose
@PhilippLackner
@PhilippLackner 4 жыл бұрын
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 4 жыл бұрын
@@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!!
@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
@MateusMeurer
@MateusMeurer 3 жыл бұрын
Thank Philipp very clear! but, fuck them I'm staying with synthetics for as long as I can -.-"
@ojiidroid
@ojiidroid 4 жыл бұрын
can you teach me how to interpret smali code?
@feepin2058
@feepin2058 4 жыл бұрын
One more reason to name views' id in java convention
@mustafashaikh7829
@mustafashaikh7829 4 жыл бұрын
nice :)
@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
@ajaygalagali5963
@ajaygalagali5963 4 жыл бұрын
😀
@johnkline4350
@johnkline4350 3 жыл бұрын
Synthetics is pronounced: Sin-theh-ticks. Not Sint-het-icks.
@mohdz4217
@mohdz4217 7 ай бұрын
ربي يزوجك
@username-dh4tq
@username-dh4tq 2 жыл бұрын
#mTV :
@jeffh.8127
@jeffh.8127 2 жыл бұрын
Too much talking and not enough showing.
@miyamoto856
@miyamoto856 2 жыл бұрын
thank you
ViewModels & Configuration Changes - Android Basics 2023
18:46
Philipp Lackner
Рет қаралды 130 М.
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,6 МЛН
бабл ти гель для душа // Eva mash
01:00
EVA mash
Рет қаралды 9 МЛН
Quick service change oil toyota rush
RESTITUTO ESCOBIDO
Рет қаралды 8
6 Design Patterns Every Android Developer Must Know
14:16
Philipp Lackner
Рет қаралды 82 М.
FRAGMENTS - Android Fundamentals
17:29
Philipp Lackner
Рет қаралды 335 М.
Make Your Code Clean With the SOLID Principles
18:24
Philipp Lackner
Рет қаралды 101 М.
View Binding vs Data Binding - Explained | Android Development
5:09
RECYCLERVIEW - Android Fundamentals
24:58
Philipp Lackner
Рет қаралды 105 М.
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,6 МЛН