JungIn Choi
04/01/2021, 1:11 PMDay20
• Lesson5
◦ LiveData & Lifecycle Awareness
▪︎ LiveData : observable data holder class which is lifecycle-aware
• lifecycle-awareness : LiveData knows about the lifecycle state of its UI controller observers
▪︎ Two way lifecycle observation connection between UI controller & LiveData (nice diagram)
• LiveData will only update UI controllers that are actually on-screen. If UI-controller is off-screen, it gets no updates. When a UI controller goes from off-screen back to on-screen, LiveData will trigger the observer to get the current data immediately.
• When UI controller gets destroyed, LiveData internally cleans up its own connection to the observer
▪︎ Backing property & Encapsulation : restricted direct access to the object fields
• LiveData should be mutable inside the ViewModel but immutable outside the ViewModel
• MutableLiveData vs. LiveData (can be read but not modified), Backing property (allows returning sth from a getter other than the exact object)
▪︎ Event vs. State
Self-Comment
• I always get pre-lesson quizzes (in udacity) wrong^^.. (ex. where should ~~ component go to) But I won’t get intimidated, since who cares, I’m learning haha. Plus, my memories are amazing, amazingly short. (..) I remember that I learned this term “companion object” in the kotlin basics lecture, and even remember that it was confusing at that time, but I just couldn’t recall it 🤯 So I got back to my notion memos, and remembered what this was. So, I had some googling time.
• I’m using this as summarizing notepad from some point on.. It somehow seems to ruin this feed, so I’ll separate this to a comment in my own thread, if it bothers any of u 😂
• Was a productive day. I should really take care of my mentality, keep in mind that if there’s a less-productive day, I’ll just have to try harder the next day, but just don’t get stressed too much.
Goals Tomorrow
• Finish Lesson5 and start lesson 6. (As I view the contents, there comes this terminology “coroutine”. Quite thrilling that it is a mystery for me today, but not tomorrow.
• (Priority) Lesson5 -> BLE -> Lesson6 & Leetcode