The FULL Beginner Guide for Room in Android | Local Database Tutorial for Android

Поделиться
HTML-код
  • Опубликовано: 14 мар 2023
  • In this video, you'll learn the ins and outs about Room and local databases on Android so you can get started implementing your own.
    ⭐ 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/premium-courses...
    Get my FREE PDF about 20 things you should never do in Jetpack Compose:
    pl-coding.com/jetpack-compose...
    💻 Let me be your mentor and become an industry-ready Android developer in 10 weeks:
    pl-coding.com/drop-table-ment...
    Subscribe to my FREE newsletter for regular Android, Kotlin & Architecture advice!
    pl-coding.com/newsletter
    Join this channel to get access to perks:
    / @philipplackner
    Get the source code for this video here:
    github.com/philipplackner/Roo...
    Join my Discord server:
    / discord
    Regular programming advice on my Instagram page: / _philipplackner_
    Checkout my GitHub: github.com/philipplackner
    You like my free content? Here you can buy me a coffee:
    www.buymeacoffee.com/philippl...

Комментарии • 210

  • @mateuszczuba9684
    @mateuszczuba9684 9 месяцев назад +6

    Philipp, my man, you're a true hero! You're helping me through my college course like nobody else.

  • @finnishcountryrussiansoulf9425
    @finnishcountryrussiansoulf9425 8 месяцев назад +26

    IF YOU WANT TO FOLLOW THIS TUTORIAL STEP BY STEP, use these settings: Empty activity(jetpack compose, the purple one), min sdk 24, groovy dsl. IN build.gradle(module :app), target sdk 33. Use room 2.5.0, as the latest version needs target sdk to be 34. activity-compose should be 1.7.2, jvm target 17, compileOptions source an target java version 17. These setting worked for me, if you have build errors, read them through and correct the versions or just copy paste them into stack overflow. Commenting this cause I had a lot of issues with the versions conflicting.

    • @yuvarajg3195
      @yuvarajg3195 8 месяцев назад

      This information really helped in adding the dependencies to my files
      Thank you!

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 8 месяцев назад

      if you have versions confilicting just use the latest versions always, problem solved

    • @DaveDivines
      @DaveDivines 5 месяцев назад +1

      Took a fair amount of time for me to realise it was groovy instead of kotlin
      Thanks

  • @MrPicklepod
    @MrPicklepod Год назад +1

    You're tutorials are amazing, I was just looking for a Room tutorial and saw that this dropped recently I feel so lucky lol

  • @sanjaybhatikar
    @sanjaybhatikar Год назад +5

    This video is a god-send! Hope you have a long life and make many such videos that spread knowledge among the people who value it. Cheers!

    • @Theotoffel1
      @Theotoffel1 Месяц назад

      direct speech: Philipp is amazing and his content too

  • @thebrassbeat
    @thebrassbeat 6 месяцев назад +1

    Thanks man, the video fully describes all the steps to implement room. Also I liked that the code structure is well on point.

  • @pablovirus
    @pablovirus Год назад +2

    Thank you man you are making learning all this so much easier. You are a legend

  • @rohitwaghole5334
    @rohitwaghole5334 Год назад +48

    Mahn you're doing so much for us, just keep it like that, love form India

  • @deshabhaktg6530
    @deshabhaktg6530 Год назад +1

    Thanks for such a wonderful and in depth explanation...you are a gem❣️

  • @c0degalaxy
    @c0degalaxy 5 месяцев назад +2

    About a year passed but still actual topic. Watched this more than 4 times, still need to watch more))

  • @sushant5800
    @sushant5800 Год назад

    woow you uploaded what i was searching for,, thank you so much

  • @sergeilebedev7725
    @sergeilebedev7725 Год назад

    I have learned a lot! Thank you Philipp

  • @9Blurke9
    @9Blurke9 Год назад

    This is exactly what I needed. Thank you.

  • @user-ff8pg1fe9f
    @user-ff8pg1fe9f 2 месяца назад

    Fabulous! That could not be better. Thanks!

  • @mynameisearlb
    @mynameisearlb 11 месяцев назад

    Thank you, quite a long tutorial but it's what i needed for my app!

  • @morrolan
    @morrolan Год назад +20

    Great tutorial Philipp! I would love to see how you would extend this to sync the data with an API containing a master database. For example if this is a shared contact list with all users of the master database.

    • @MrPieTech
      @MrPieTech 7 месяцев назад

      You will just have a query for all contacts, then request persmision to read all contacts then use the cursor that it returns to you

  • @Eyyuphan439
    @Eyyuphan439 Год назад

    Continue man, you are doing very well.

  • @wilkq1110
    @wilkq1110 Год назад

    Thank you bro, you do good job for all of us

  • @BhardwajHackology
    @BhardwajHackology Год назад

    Thank you for this video !

  • @lisajameson7554
    @lisajameson7554 6 месяцев назад

    Fantastic video. Thank you!!!

  • @hiatus-ze7bu
    @hiatus-ze7bu Месяц назад

    Great Explanation !

  • @TheZaurHasanov
    @TheZaurHasanov Год назад

    You are perfect! Thanks

  • @thencode8403
    @thencode8403 Год назад

    You really know you stuff man❤❤❤

  • @victoralmeida1583
    @victoralmeida1583 11 месяцев назад

    Awesome!
    Thank you.

  • @shivam__singh
    @shivam__singh 11 месяцев назад +1

    Love from India dude ❤❤ great job 🙏

  • @scottbiggs8894
    @scottbiggs8894 Месяц назад

    The alt-enter trick is worth the video. But I agree with others, it's quite a bit over-kill just do demonstrate Room database stuff. But like always, your videos are excellent. Keep 'em coming.

  • @wzsh
    @wzsh Год назад +1

    Great video, I would like to ask if there a way to output the raw sql query statement in logcat when I invoke Dao each time.

  • @UriahHeep-gj5jj
    @UriahHeep-gj5jj 7 месяцев назад

    this is a great tutorial. Thanks for sharing Philipp. Now you only include inserting and deleting records, any chance of including an updating example? I tried to include a checkbox in the table, but have not been succesful in making it work.

  • @waleedal-thawadi2783
    @waleedal-thawadi2783 7 месяцев назад

    I appreciate your knowledge sharing, wish you happiness in your life.

  • @Serosim
    @Serosim Год назад

    Hello Phillipp, Great work! I got just one question. Could you explain why this time we are not have to make instance of database inside companion object in ContactDatabase class?

  • @omkarpawar1741
    @omkarpawar1741 Год назад +1

    can you explain the difference between statein(.... , whilesubscribed(5000) ) and collectAsStateWithLifecycle () are they supposed to do the same thing, because whilesubscirbed waits for 5 seconds ?

  • @nakrakanykrakowiaczek1187
    @nakrakanykrakowiaczek1187 Год назад

    There's always _state used, but when it comes to saving a contact you use state.value, is it correct? I'm building my first app with room database and I had some issues with saving (some parameters where always set to default despite what was set by user in form). When i changed the state.value to _state.value problem is gone :|

  • @iandbd288
    @iandbd288 9 месяцев назад

    I love all the work you put in here, but how do you implement updating a contract this way?

  • @omkarpawar1741
    @omkarpawar1741 Год назад +5

    can you provide a Database relations with Room tutorial with compose and Kotlin flows

  • @marlonlom
    @marlonlom Год назад

    great content! as a question: how can i configure room inside an android library, how to handle the database loading when the database config is outside the mobile app module?

  • @NareshDhakecha
    @NareshDhakecha Год назад

    Thank you bro... How can I manage state of data fetching from Room like Loading, Success, Error with this combined state approach?. This approach is similar to React-Redux, but can't understand how to apply in Android-Kotlin.

  • @leonelp9593
    @leonelp9593 19 дней назад

    i Love you Philipp
    thanks for the tutorial

  • @giorgidolidze1640
    @giorgidolidze1640 Год назад

    Why is upsertContact/deleteContact suspend (in DAO) and other three functions not?

  • @YonkoCraft
    @YonkoCraft Год назад

    Just a question is the playlist about relational database you have still work or it's outdated and if so please make new one

  • @user-jb1ff9ij2g
    @user-jb1ff9ij2g Год назад

    Bro why my viewModelScope is not importing its telling me that you have unresolved reference. when i m implementing onEvent function in ContactViewModel

  • @Kazner0h
    @Kazner0h 9 месяцев назад +17

    There's so much about this I still struggle to understand, between these tutorials and the official android ones. It seems like the way you do it and the way they do it is so different despite using the same systems.
    If anyone else is struggling to understand these concepts, know that you're not alone. A lot of the tutorials and guides for these subjects contradict each other, and it is difficult to tell what the differences between the implementations are.

    • @finnishcountryrussiansoulf9425
      @finnishcountryrussiansoulf9425 8 месяцев назад +4

      The problem with android studio, is that some people use kotlin. others java, some use jetpack compose, some xml layouts, gradle has a few different implementations, different vesions, sdks, android studio layouts, standards and all of that is really messy. Just learn the tools you use separately, don't follow tutorials step by step. I know it sounds hard but that's the truth. If you still want to contunue this tutorial, use these settings: Empty activity(jetpack compose, the purple one), min sdk 24, groovy dsl. For gradle, target sdk 33. Use room 2.5.0, as the latest version needs target sdk to be 34. activity-compose should be 1.7.2, jvm target 17, compileOptions source an target java version 17. These setting worked for me, if you have build errors, read them through and correct the versions or just copy paste them into stack overflow.

    • @zainuldin9095
      @zainuldin9095 6 месяцев назад +1

      In react-native or flutter you can achieve same features by writing 2 or 3 lines of code. i would say kotlin is totally useless. it is not worth checking out.

  • @khemmahato8420
    @khemmahato8420 Год назад

    Wow man you are great at writing clean code.

  • @bulllletsss
    @bulllletsss 3 месяца назад +1

    The Dependencies dont work for me,. I added the same id under Plugins and the exact same dependencies but jetpack compose cant sync. Instead I get the "unresolved reference" Error on the kapt dependency. Anyone know a fix?

  • @blackw302
    @blackw302 7 месяцев назад

    Won't this cause unnecessary recomposition of both AlertDialog and the ContactScreen each time you enter a new letter into the TextField's in the AlertDialog? Since you send a SetFirstName event each time.

  • @gunasekarboomibalan4340
    @gunasekarboomibalan4340 Год назад

    Hi @Phlipp, can you please share a tutorial how to share android apks for different varients shared to different appcanter from single jenkins account?

  • @ibrhm.117
    @ibrhm.117 Год назад

    Wtf, the moment I need a new shenanigan, you drop a video on that topic, 😂

  • @blankname
    @blankname Год назад +2

    Great video! I learned a lot. I'm creating an app where users can login and sync their content from an API to view locally later. I'm anticipating that some users may switch between accounts, and I'm wondering how to handle the database so that the data is still cached when the user returns to a previous account. Do you have any tips or best practices for this scenario? I'd really appreciate any insights you can offer.

    • @ka61er
      @ka61er Год назад

      Just check id user related to account you want to sign in in database

  • @khabbazz89
    @khabbazz89 9 месяцев назад +1

    i will try with you

  • @osmanmusse9432
    @osmanmusse9432 Год назад

    Great Video

  • @xChikyx
    @xChikyx 9 месяцев назад

    21:13 no matter what i do, i still get the error at the .delete thing... update: nothing that has viewModelScope works for me. it never recognizes it as something that exists i guess... idk why

  • @pablovirus
    @pablovirus Год назад +7

    I did code along while watching and everything worked perfectly fine!
    I also figured out (with a bit of help form Perplexity AI and the docs lol) how to make a @Preview for the ContactScreen and populate this preview with a few contact numbers. It was a good exercise as well
    I have a question. If I were making a multi-screen UI or if I were to add more functionalities such as a sidebar menu, should all the classes, interfaces, and other relevant files be each contained in separate folders within the root of the app according to their functionality? Do you have any guide or reference on the best practices for how to organize source code project files?

    • @nrg4285
      @nrg4285 5 месяцев назад

      Check his latest video at the time of my comment, he just made a new video about project folder structure

    • @zecuse
      @zecuse Месяц назад

      The Contact Screen simply takes:
      1. A Contact State, you can just instantiate one with whatever you want the preview to look like.
      2. Since previews aren't interactable anyway, just send a matching function that does nothing!
      Wow! RUclips going REAL hard on the comment suppression. This is attempt 4.

  • @gamermom1945
    @gamermom1945 Год назад +1

    As always you're the absolute best! Thank you!
    If you have a database with one to many and many to many relations as in your other video "Android Room with Multible Tables", how do you map them to models you can use in the UI?

    • @shs4293
      @shs4293 9 месяцев назад

      Did you find out?

  • @arpitmukhopadhyay9235
    @arpitmukhopadhyay9235 Год назад

    This Tutorial is great.. Please make tutorial on Room with API using Retrofit

    • @hotellinaweb
      @hotellinaweb 10 месяцев назад +1

      Why would you use room with Retrofit? Room is a local DB and IMO you do not need Retrofit to store or get stuff on/from Room DB.

  • @tmjromao
    @tmjromao Год назад

    Many thanks for the beginners guide. Why (still) Room and not Realm? Since Realm is the elected lib for KMM

  • @Knee_High
    @Knee_High 8 месяцев назад +2

    I followed the tutorial but when I test the app on the emulator, it crashes and I cannot figure out why....

  • @Wizzardo
    @Wizzardo Год назад

    Is it possible to make a Activity/Views/Fragments version of this instead of Jetpack Compose?

  • @tevlex6141
    @tevlex6141 10 месяцев назад +1

    right from the start "unresolved reference def: " why?

  • @sreeranjas6585
    @sreeranjas6585 Год назад

    Goat of mob dev

  • @Leon-un2ii
    @Leon-un2ii Год назад

    Does someone have an idea why my Material 3 isn't working anymore with this tutorial?

  • @masti437
    @masti437 Год назад

    @Philip ... Is there a built in .db file viewer in android studio where we can browse tables

  • @victoryghor9009
    @victoryghor9009 Год назад +2

    I have one problem with text parameter of AlertFialog, I trying to put the parameter Buttons but it seems that is do not exists

    • @needankeistgenug
      @needankeistgenug Год назад

      Same here.
      Did you fix it?

    • @loogibot
      @loogibot 5 месяцев назад

      The 'buttons' parameter doesn't seem to be working with AlertDialog, so I used 'confirmButton' and 'dismissButton' instead. For 'dismissButton', you can use the 'HideDialog' method from 'ContactEvent'. I hope this helps!

  • @matiasgarcia6684
    @matiasgarcia6684 Год назад

    Great tutorial!! i see all of your videos, is other level..., but i got an error with de Room database:"C:\Users\Lenovo\AndroidStudioProjects\JetpackRoomApp\app\build\tmp\kapt3\stubs\debug\com\matec\jetpackroomapp\data\Depot.java:7: error: Entities and POJOs must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
    public final class Depot {"

  • @DineshKumar-ef3et
    @DineshKumar-ef3et Год назад

    In Mobile application to took the print a docu in printer

  • @zecuse
    @zecuse Месяц назад

    Took me longer than I'd like to admit that I needed to use the init function for the view model to be able to read in settings that should persist across app launchings. 45:35 Notice that the sortType reverted back to FIRST_NAME. To get that selected sort to persist, it needs to be saved to a table in the database and then read in the init of the ContactViewModel.
    Edit: And be sure you only ever update these types of settings. For a couple of hours, I ran into a problem of the database blowing up in size because each time I changed one of these persistent settings, it was put into the database with a new id. To circumvent that, you need to query for that particular setting and update it. This might simply take the form of having a settings table that should only ever have a single record.

  • @mothhunter1889
    @mothhunter1889 11 месяцев назад +1

    So we have the interface ContactEvent, which contains nested classes (I think??), which themselves implement the ContactEvent interface. Shouldn't that lead to an infinite recursion, where every nested class contains (through the implemented interface) every nested class again?

    • @hotellinaweb
      @hotellinaweb 10 месяцев назад

      I asked the same in a new comment.

    • @mothhunter1889
      @mothhunter1889 10 месяцев назад

      @sackhaarspalter thanks for the explanation!

  • @pratyushprashob167
    @pratyushprashob167 5 месяцев назад

    Is there any way to prepopulate the database?

  • @user--10552
    @user--10552 6 месяцев назад

    ohh man i like how you organize the code even i got just 1% of the code hhh

  • @imamyusupbachtiar5461
    @imamyusupbachtiar5461 Год назад

    Bro, it's MVI pattern you was used ?

  • @adityagarud861
    @adityagarud861 Год назад

    which keyboard you use ??

  • @user-sc1sm3em9w
    @user-sc1sm3em9w 6 месяцев назад

    cool video)

  • @balusekhar
    @balusekhar Год назад

    Make a video on firebase as well

  • @NotamechanicBetty
    @NotamechanicBetty Год назад

    when I run it I get a Duplicate class found error, any suggestions to fix this? also, you are a great instructor the way you explain things is very helpful thank you for making these videos.

    • @PhilippLackner
      @PhilippLackner  Год назад +2

      Upgrade your Kotlin version to 1.8.10 :)

    • @NotamechanicBetty
      @NotamechanicBetty Год назад +1

      @@PhilippLackner IT WORKS!!! you might not understand how happy this makes me 😁😁😁thank you

  • @pierremarais7669
    @pierremarais7669 Год назад

    Hi Phillip thanks for the video, I heard that Room is not secure for Android devices. Is this true? thanks Pierre

  • @joshuarobles75
    @joshuarobles75 2 месяца назад

    Alert Dialog, Title and Text no longer in the parameters of the new one, also button not included

  • @fabiodecarvalho4581
    @fabiodecarvalho4581 8 месяцев назад +2

    Thanks for this.
    I do have to say that I think you over engineered it a bit. This could've been 15 minutes. The tutorial focused too much on Flows, Compose and other things.
    I haven't worked with either before and I lost a few hours just trying to understand the basics of it when I really just wanted to work with Room.
    However, it was still a great tutorial, it just could've been shorter and more focused on Room itself.

  • @aapipcps2311
    @aapipcps2311 Год назад

    may I ask you a question philips? what do you think about greendao (database local) vs room?

    • @JacobFerrero
      @JacobFerrero Год назад +1

      GreenDao is discontinued, ObjectBox is its successor.

    • @aapipcps2311
      @aapipcps2311 Год назад +1

      @@JacobFerrero thanks for your info, i'll try ObjectBox someday

  • @rafaeloledo
    @rafaeloledo 2 месяца назад

    3:44 nice tool

  • @KevinID-sx8sn
    @KevinID-sx8sn Год назад

    Do you have paging tutorial?

  • @terencesajere6426
    @terencesajere6426 Год назад

    When I click save it replaces my data instead of adding a new one

    • @mynameisearlb
      @mynameisearlb 11 месяцев назад

      Did you use insert instead of upsert?

  • @notbob3590
    @notbob3590 Год назад

    This is for kotlin and not groovy?

  • @backupproducer
    @backupproducer 5 месяцев назад

    Great video. Of course, Android had to make handling database as complicated as possible. Ugh.

  • @austinevick
    @austinevick Год назад +2

    Great content always. Pls can you put one of your course on Udemy?

    • @PhilippLackner
      @PhilippLackner  Год назад +2

      I got them all on my website: pl-coding.com/premium-courses

    • @balusekhar
      @balusekhar Год назад +3

      ​@@PhilippLackner in india it will be difficult to pay in pounds. So try to put them in udemy🙂

    • @Eyyuphan439
      @Eyyuphan439 Год назад

      @@balusekhar You are right.

    • @mohammedabdulrahman5045
      @mohammedabdulrahman5045 Год назад

      @@PhilippLackner Same here in Ghana: it's somewhat harder to purchase in Pounds.

    • @donjeph
      @donjeph Год назад

      @@PhilippLackner please even if it is just one on Udemy it easy to get there

  • @kevinrea7820
    @kevinrea7820 Год назад +1

    since this is a beginners course, when you goto create a New Class, could you do it slower on the screen please..

    • @xbox70333
      @xbox70333 Год назад

      use '.' and ',' keys to skip each frame

  • @hugovera-sr3kr
    @hugovera-sr3kr Месяц назад

    Followed this tutorial, I tryied to add it to my current project and the dependecies completely broke my project. Fortunetly, I was able to rollback with git. It would have broke my project

  • @freshtechtips
    @freshtechtips Год назад +1

    What about sqldelight? It support multiplatform

    • @PhilippLackner
      @PhilippLackner  Год назад

      I have a video about that already

    • @freshtechtips
      @freshtechtips Год назад

      @Philipp Lackner I know but why we still use room here?

    • @jayantkumar1954
      @jayantkumar1954 Год назад

      Sql delight is used for KMM and KMP , not for native development

    • @freshtechtips
      @freshtechtips Год назад

      @@jayantkumar1954 It's possible to use it in native android project + in kmm the app on android is still completely native while on ios maybe only the UI which is great

  • @Darkrexjunior-dm5gc
    @Darkrexjunior-dm5gc 4 месяца назад

    can i get that color scheme he is using in ide?

  • @footballCartoon91
    @footballCartoon91 Год назад

    stuck at @3:48 "no devices selected"
    App Inspection > Select Process

    • @jedrzej2338
      @jedrzej2338 10 месяцев назад

      i have same problem, do you have any solution?

  • @SweetPeachannel
    @SweetPeachannel Год назад

    mate, anywhere can I contact you directly?

    • @PhilippLackner
      @PhilippLackner  Год назад

      For business inquiries the email stated on my channel page. Not for coding questions though

  • @ielts_listening_preparation
    @ielts_listening_preparation 8 месяцев назад

    Ary you following MVVM in this project?

    • @KostahWasTaken
      @KostahWasTaken 7 месяцев назад

      There was used viewmodel but it's not MVVM it's MVI there is difference MVI uses intents which represent user actions/events. MVVM uses property binding to automatically propagate changes between View and ViewModel.

  • @PowJey
    @PowJey Год назад

    Saving for later
    29:56

  • @footballCartoon91
    @footballCartoon91 Год назад

    @2:33 gradle languange is like python

    • @footballCartoon91
      @footballCartoon91 Год назад

      @8:37
      I really hate interface, but since kotlin has a feature like property delegation
      (that does not exist in C++) maybe it is good idea to have it.
      Also in java and kotlin, an interface can be converted to a real and concrete class
      at runtime called something like `ProxyClass` or something like that. Maybe this is the reason everybody love interface in Java and Kotlin. Remember this one in the Retrofit tutorial.

    • @footballCartoon91
      @footballCartoon91 Год назад

      @2:54
      in C++ `::` means scope Resolution operator
      but in kotlin it means what? let's google first

  • @MeetJasani-ro4dr
    @MeetJasani-ro4dr 13 дней назад

    how can i save image in Room?Please Explain

    • @fateh2345
      @fateh2345 9 дней назад

      Parse to base64 string

    • @MeetJasani-ro4dr
      @MeetJasani-ro4dr 8 дней назад

      @@fateh2345 thanks bro, pls recommend resource for saving drawable image

  • @Eyyuphan439
    @Eyyuphan439 Год назад

    we will wait Rerofit.

  • @Dylanm94
    @Dylanm94 11 месяцев назад +3

    "So this is a step by step guide on how to make a Room database. Now just make a sealed abstract suspended data class function that has these private vals, enums, mutable state contact event, e=mc2, 9/11 was an inside job"
    Right... I just wanted to write some data to my new database table. :)

    • @Kazner0h
      @Kazner0h 9 месяцев назад

      I had this same reaction 😅

  • @shs4293
    @shs4293 9 месяцев назад

    Still don't understand how a single table tutorial would be useful, I am looking for multiple tables tutorials with one to many relationships but there aren't any.

    • @finnishcountryrussiansoulf9425
      @finnishcountryrussiansoulf9425 8 месяцев назад

      This is just sql basics, no? You get the structure from this video, if you want to make multiple tables with relations, make a graph and connect the tables by fields. You'll have to make your own query methods tho.

  • @user-lk2jh3xl4l
    @user-lk2jh3xl4l 7 месяцев назад +1

    I can't get the AlertDialog working properly, title text and buttons parameter cannot be find... but my code is to the space bar identical to the one in the tutorial... I dont get it any help would be nice ?

    • @YasirZaman-jo4tf
      @YasirZaman-jo4tf 6 месяцев назад

      simple problem dude, I am stuck now here.

    • @loogibot
      @loogibot 5 месяцев назад

      The syntax/error highlighting is a bit sensitive, so if one or more parameter is incorrect, some of the others look wrong even if they are valid. To solve this, I did this:
      The 'buttons' parameter doesn't seem to be working with AlertDialog, so I used 'confirmButton' and 'dismissButton' instead. For 'dismissButton', you can use the 'HideDialog' method from 'ContactEvent'. I hope this helps!

    • @JavierLopezPR
      @JavierLopezPR 4 месяца назад

      Same here. 😢 stuck at this part.

  • @raztamim1640
    @raztamim1640 11 месяцев назад

    room shambles!

  • @mayank3436
    @mayank3436 Год назад

    room is trash i cant get it to work any how error pops up here and there

    • @daveogfans413
      @daveogfans413 11 месяцев назад

      lol, maybe the problem is with you...

  • @cristicode4301
    @cristicode4301 Год назад +4

    It's an amazing amount of code for just making a note. Is this how things are on Android or are you overcomplicating things? This is really hard to follow and is not very begginer oriented. The tutorial itself is good, but for people that have some experience already with Kotlin and Android.

    • @PhilippLackner
      @PhilippLackner  Год назад +4

      The main code is for the UI. Similar amounts would be needed when making a website to do this. This is a beginner guide for Room, not for Android. Can't teach kotlin and Android basics in every video, I have Playlist for that

  • @michaelappiah-kubi2829
    @michaelappiah-kubi2829 8 месяцев назад +1

    This I'm sorry to say isn't beginner friendly. There's so much happening other than Room itself (main reason for watching this video) it's distracting. I know it's hard work to put content out but I just had to point that out.

  • @xdanoproxd6560
    @xdanoproxd6560 3 месяца назад

    its not working like not working at all