Android ViewBinding in 8 Minutes

Поділитися
Вставка
  • Опубліковано 16 жов 2024

КОМЕНТАРІ • 151

  • @PhilippLackner
    @PhilippLackner  4 роки тому +53

    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 роки тому +2

      @@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 роки тому +6

    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!

  • @peyvandjadidi4395
    @peyvandjadidi4395 3 роки тому +2

    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.

  • @البرمجةللجميع-د4ظ
    @البرمجةللجميع-د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 роки тому +1

      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.

  • @joegracey
    @joegracey 2 роки тому +11

    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 роки тому +1

      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.

  • @secbdarija
    @secbdarija 2 роки тому +1

    Man u saved the life of a new android developper

  • @IceInMaWeiner
    @IceInMaWeiner 2 роки тому +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

  • @VoidObj
    @VoidObj 3 роки тому

    Thank you! Your english is so simple, i understand around 60-70% of text. It`s great for me!

  • @BenKadel
    @BenKadel 4 роки тому +3

    Awesome video, so well explained, thank you as always dude!

  • @marcel5235
    @marcel5235 3 роки тому +1

    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 :)

  • @yanikhohner374
    @yanikhohner374 3 роки тому +2

    Great job my german mate. You help my a lot!

  • @xD-saleem
    @xD-saleem 3 роки тому +2

    i miss your intros with that hardcore music

  • @スヘア
    @スヘア 4 роки тому +16

    I'm not ready to move from kotlin synthetics😭
    Btw Thank you for this video.

  • @_sharmaji.dev_
    @_sharmaji.dev_ 3 роки тому

    you saved me
    Thanks for short and right to point video

  • @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?

  • @raghavaggarwal8644
    @raghavaggarwal8644 3 роки тому +1

    Thanks for the tutorial, then why we use android-kotlin-extensions? What's the difference between the two? which way is better?

  • @aginamabednego
    @aginamabednego 2 роки тому

    Thank you once again. Straight to the point

  • @ronniepedersen4367
    @ronniepedersen4367 3 роки тому +5

    Why are viewbinding not included in the default projects?

  • @parthpatel8173
    @parthpatel8173 4 роки тому +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 роки тому +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 роки тому +1

      @@PhilippLackner Yes, that was I mean to say and forgot to specify it.

  • @salarydost8147
    @salarydost8147 4 роки тому

    Congratulations for 10 k subscribers

  • @hacheguioneme
    @hacheguioneme 3 роки тому

    Very simple! you're awesome. Thanks.

  • @brianquigley1940
    @brianquigley1940 5 місяців тому

    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?

  • @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.

  • @moriz8549
    @moriz8549 3 роки тому

    awesome tutorial. you make it easy to understand

  • @workwithray2569
    @workwithray2569 3 роки тому

    You literally solved a weekend of headaches in 8 minutes

  • @ShepherdSani
    @ShepherdSani 3 роки тому

    Hey Philip Thank you very and so much for this video

  • @riddhishah7708
    @riddhishah7708 Рік тому

    Perfect explanation 👌

  • @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?

  • @yossimaskin1393
    @yossimaskin1393 2 роки тому

    What's your opinion on DataBinding? is it recommended? i don't see you using it in your tutorials

  • @MDDanishAnsariDev
    @MDDanishAnsariDev 4 роки тому +1

    Don't I need to add in XML, or is it required only while using data binding?

  • @thearpansircar
    @thearpansircar 4 роки тому

    It's been a while since I saw one of your videos and holy fuck that beard looks awesome.

  • @amtrax02
    @amtrax02 3 роки тому +1

    Great explained :D

  • @sodaguy5835
    @sodaguy5835 3 роки тому

    underrated channel your content✌

  • @daiyrkanybekov8575
    @daiyrkanybekov8575 3 роки тому

    Great Tutorial Philipp

  • @AmitVerma-iq3oe
    @AmitVerma-iq3oe Рік тому

    How can we use view reference while writing android test, Is there any way to mock view-binding

  • @miq0717
    @miq0717 4 роки тому

    Which is better to use? viewbinding or Kotlin synthetics?

  • @guitarbansi1
    @guitarbansi1 3 роки тому +2

    If I need to access a layout in a different module, does ViewBinding still work?

    • @easelogic
      @easelogic 3 роки тому +1

      yes

    • @easelogic
      @easelogic 3 роки тому +1

      and by that class name you've to create a new inflator

  • @nomanzafarzafar7912
    @nomanzafarzafar7912 3 роки тому

    Great effort bro. Keep it up.

  • @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

  • @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 ?

  • @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?

  • @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?

  • @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

  • @yusufmiftahudeen
    @yusufmiftahudeen 11 місяців тому

    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

  • @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

  • @footballCartoon91
    @footballCartoon91 Місяць тому

    This video is old, but useful

  • @lokesharora8638
    @lokesharora8638 2 роки тому

    thanks bro finally I understand

  • @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 3 роки тому +1

    I'm now scared to update Android studio because Synthetic Binding got removed from new Android Studio version.

  • @victor-ioncislari2375
    @victor-ioncislari2375 2 роки тому

    How about letting the App run for an example?

  • @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).

  • @amanchaudhary8627
    @amanchaudhary8627 Рік тому

    Thanku so much ❤️

  • @mehulbisht9708
    @mehulbisht9708 4 роки тому +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 роки тому +6

      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.

  • @yutaitadori7318
    @yutaitadori7318 3 роки тому

    Hey great tutorial 💓

  • @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

  • @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 UA-cam 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

  • @siddharthagrawal6157
    @siddharthagrawal6157 4 роки тому

    Really amazing

  • @MCStarYT
    @MCStarYT 4 роки тому

    Very nice video

  • @gauravthakkar802
    @gauravthakkar802 4 роки тому

    Why do we put the layout inside the fragment constructor?

  • @jishnunkrishnan5783
    @jishnunkrishnan5783 3 роки тому

    Thank you!

  • @chiragprajapati3989
    @chiragprajapati3989 4 роки тому

    How can we use viewBinding if we have BaseFragment or BaseActivity ?

  • @codingwithsam4992
    @codingwithsam4992 2 роки тому

    Thank you

  • @AnhNguyen-qd8cm
    @AnhNguyen-qd8cm 3 роки тому

    thanks you so muck

  • @cinemovieone
    @cinemovieone 3 роки тому

    How would the viewBinding for the adapter look, would anyone know?

    • @PhilippLackner
      @PhilippLackner  3 роки тому +1

      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 =)

  • @syedfilms4447
    @syedfilms4447 2 роки тому

    thanks alot

  • @kipbena8224
    @kipbena8224 4 роки тому +2

    You forgot to destroy the binding..This prevents memory leaks

  • @androidterminal3924
    @androidterminal3924 2 роки тому

    best video

  • @mdjahidulislam9205
    @mdjahidulislam9205 4 роки тому

    Thanks a lot

  • @MohammedAshlabN23MIA108
    @MohammedAshlabN23MIA108 8 місяців тому

    hi i am new to android can anyone tell me how to destroy the binding like can you give me the code pls

  • @yahyafati
    @yahyafati 3 роки тому

    I trust you man

  • @shreyashchoudhary7413
    @shreyashchoudhary7413 3 роки тому

    Epic!

  • @MtaufiqH731
    @MtaufiqH731 4 роки тому

    Interesting!

  • @devanshmaurya9928
    @devanshmaurya9928 3 роки тому +2

    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

  • @kadrsnr
    @kadrsnr 2 роки тому

    thank youu

  • @자유야놀자
    @자유야놀자 4 роки тому

    thanks

  • @arpitgupta3151
    @arpitgupta3151 3 роки тому

    7:36 FragmentTestBinding is not showing

  • @dreamer6228751
    @dreamer6228751 4 роки тому

    Interested theme )

  • @TZCoder
    @TZCoder 3 роки тому

    I wish someone would make a 3rd party synthetics alternative much cleaner than this.

  • @kamal-i7d1m
    @kamal-i7d1m Рік тому

    viewbinding is throwing error in inflating ActivityMainBinding

  • @mustafashaikh7829
    @mustafashaikh7829 4 роки тому

    nice :)

  • @MateusMeurer
    @MateusMeurer 3 роки тому

    Thank Philipp very clear!
    but, fuck them I'm staying with synthetics for as long as I can -.-"

  • @ofoefulechristian9684
    @ofoefulechristian9684 4 роки тому

    Where we are with Android dev: Learning something new that we know is soon to be deprecated 😅
    #jetpackcompose

    • @PhilippLackner
      @PhilippLackner  4 роки тому +2

      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!!

  • @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

  • @jonplaud
    @jonplaud 3 роки тому +1

    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 роки тому

    😀

  • @mohdz4217
    @mohdz4217 6 місяців тому

    ربي يزوجك

  • @username-dh4tq
    @username-dh4tq 2 роки тому

    #mTV :

  • @johnkline4350
    @johnkline4350 2 роки тому

    Synthetics is pronounced: Sin-theh-ticks. Not Sint-het-icks.

  • @jeffh.8127
    @jeffh.8127 2 роки тому

    Too much talking and not enough showing.

  • @miyamoto856
    @miyamoto856 2 роки тому

    thank you