Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
How to Build Android Apps with Kotlin - Second Edition

You're reading from  How to Build Android Apps with Kotlin - Second Edition

Product type Book
Published in May 2023
Publisher Packt
ISBN-13 9781837634934
Pages 704 pages
Edition 2nd Edition
Languages
Authors (4):
Alex Forrester Alex Forrester
Profile icon Alex Forrester
Eran Boudjnah Eran Boudjnah
Profile icon Eran Boudjnah
Alexandru Dumbravan Alexandru Dumbravan
Profile icon Alexandru Dumbravan
Jomar Tigcal Jomar Tigcal
Profile icon Jomar Tigcal
View More author details

Table of Contents (24) Chapters

Preface 1. Part 1: Android Foundation
2. Chapter 1: Creating Your First App 3. Chapter 2: Building User Screen Flows 4. Chapter 3: Developing the UI with Fragments 5. Chapter 4: Building App Navigation 6. Part 2: Displaying Network Calls
7. Chapter 5: Essential Libraries: Retrofit, Moshi, and Glide 8. Chapter 6: Adding and Interacting with RecyclerView 9. Chapter 7: Android Permissions and Google Maps 10. Chapter 8: Services, WorkManager, and Notifications 11. Chapter 9: Building User Interfaces Using Jetpack Compose 12. Part 3: Testing and Code Structure
13. Chapter 10: Unit Tests and Integration Tests with JUnit, Mockito, and Espresso 14. Chapter 11: Android Architecture Components 15. Chapter 12: Persisting Data 16. Chapter 13: Dependency Injection with Dagger, Hilt, and Koin 17. Part 4: Polishing and Publishing an App
18. Chapter 14: Coroutines and Flow 19. Chapter 15: Architecture Patterns 20. Chapter 16: Animations and Transitions with CoordinatorLayout and MotionLayout 21. Chapter 17: Launching Your App on Google Play 22. Index 23. Other Books You May Enjoy

Android components background

In many situations, you have to use onSaveInstanceState to save the current state of your activity/fragment, and then in onCreate or onRestoreInstanceState, you need to restore the state of your activity/fragment. This adds extra complexity to your code and makes it repetitive, especially if the processing code is part of your activity or fragment.

These scenarios are where ViewModel and LiveData come in. ViewModels are components built with the express goal of holding data in case of lifecycle changes. They also separate the logic from the Views, which makes them very easy to unit-test. LiveData is a component used to hold data and notify observers when changes occur while taking their lifecycle into account.

In simpler terms, the fragment only deals with the Views, ViewModel does the heavy lifting, and LiveData deals with delivering the results to the fragment, but only when the fragment is there and ready.

If you’ve ever used WhatsApp...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}