lightbulb_outline Please take our October 2018 developer survey. Start survey

Android Architecture Components

Android architecture components are part of Android Jetpack. They are a collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.

  • Manage your app's lifecycle with ease. New lifecycle-aware components help you manage your activity and fragment lifecycles. Survive configuration changes, avoid memory leaks and easily load data into your UI.
  • Use LiveData to build data objects that notify views when the underlying database changes.
  • ViewModel Stores UI-related data that isn't destroyed on app rotations.
  • Room is an a SQLite object mapping library. Use it to Avoid boilerplate code and easily convert SQLite table data to Java objects. Room provides compile time checks of SQLite statements and can return RxJava, Flowable and LiveData observables.

Latest news and videos

Additional resources

  • Try the introductory codelab which uses Room, ViewModel, and LiveData.
  • The Sunflower demo app demonstrates best practices with architecture components.
  • Our Github repo contains smaller samples demonstrating how to use architecture components.