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

Поділитися
Вставка
  • Опубліковано 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...

КОМЕНТАРІ • 209

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

  • @c0degalaxy
    @c0degalaxy 5 місяців тому +2

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

  • @thebrassbeat
    @thebrassbeat 5 місяців тому +1

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

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

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

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

  • @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 6 місяців тому

      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

  • @deshabhaktg6530
    @deshabhaktg6530 Рік тому +1

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

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

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

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

  • @user-ff8pg1fe9f
    @user-ff8pg1fe9f Місяць тому

    Fabulous! That could not be better. Thanks!

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

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

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

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

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

    I have learned a lot! Thank you Philipp

  • @bulllletsss
    @bulllletsss 2 місяці тому +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?

  • @9Blurke9
    @9Blurke9 Рік тому

    This is exactly what I needed. Thank you.

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

    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.

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

  • @user-jb1ff9ij2g
    @user-jb1ff9ij2g 11 місяців тому

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

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

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

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

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

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

    Continue man, you are doing very well.

  • @hiatus-ze7bu
    @hiatus-ze7bu Місяць тому

    Great Explanation !

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

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

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

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

  • @iandbd288
    @iandbd288 9 місяців тому

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

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

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

    Fantastic video. Thank you!!!

  • @omkarpawar1741
    @omkarpawar1741 Рік тому +5

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

  • @shivam__singh
    @shivam__singh 11 місяців тому +1

    Love from India dude ❤❤ great job 🙏

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

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

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

  • @Leon-un2ii
    @Leon-un2ii Рік тому

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

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

    which keyboard you use ??

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

    Awesome!
    Thank you.

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

    Bro, it's MVI pattern you was used ?

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

    Is there any way to prepopulate the database?

  • @waleedal-thawadi2783
    @waleedal-thawadi2783 7 місяців тому

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

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

    Thank you for this video !

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

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

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

    You really know you stuff man❤❤❤

  • @joshuarobles75
    @joshuarobles75 2 місяці тому

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

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

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

  • @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 4 місяці тому

      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! UA-cam going REAL hard on the comment suppression. This is attempt 4.

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

    You are perfect! Thanks

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

  • @Kazner0h
    @Kazner0h 8 місяців тому +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.

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

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

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

  • @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 8 місяців тому

      Did you find out?

  • @ibrhm.117
    @ibrhm.117 Рік тому

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

  • @leonelp9593
    @leonelp9593 10 днів тому

    i Love you Philipp
    thanks for the tutorial

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

    This is for kotlin and not groovy?

  • @KevinID-sx8sn
    @KevinID-sx8sn Рік тому

    Do you have paging tutorial?

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

  • @mothhunter1889
    @mothhunter1889 10 місяців тому +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 9 місяців тому

      @sackhaarspalter thanks for the explanation!

  • @DineshKumar-ef3et
    @DineshKumar-ef3et Рік тому

    In Mobile application to took the print a docu in printer

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

    Great Video

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

    Wow man you are great at writing clean code.

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

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

  • @user-sc1sm3em9w
    @user-sc1sm3em9w 6 місяців тому

    cool video)

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

  • @khabbazz89
    @khabbazz89 9 місяців тому +1

    i will try with you

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

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

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

  • @hugovera-sr3kr
    @hugovera-sr3kr 21 день тому

    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

  • @Darkrexjunior-dm5gc
    @Darkrexjunior-dm5gc 4 місяці тому

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

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

    Goat of mob dev

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

    Make a video on firebase as well

  • @user--10552
    @user--10552 6 місяців тому

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

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

  • @kevinrea7820
    @kevinrea7820 11 місяців тому +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 11 місяців тому

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

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

  • @rafaeloledo
    @rafaeloledo 2 місяці тому

    3:44 nice tool

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

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

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

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

  • @MeetJasani-ro4dr
    @MeetJasani-ro4dr 4 дні тому

    how can i save image in Room?Please Explain

    • @fateh2345
      @fateh2345 День тому

      Parse to base64 string

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

  • @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 8 місяців тому

      I had this same reaction 😅

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

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

    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.

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

    Saving for later
    29:56

  • @user-lk2jh3xl4l
    @user-lk2jh3xl4l 6 місяців тому +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 5 місяців тому

      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.

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

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

    • @daveogfans413
      @daveogfans413 10 місяців тому

      lol, maybe the problem is with you...

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

    we will wait Rerofit.

  • @acuity___7369
    @acuity___7369 Рік тому +1

    Is there anything more simple ?

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

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