Data Binding Declaratively bind observable data to UI elements
Lifecycles Manage your activity and fragment lifecycles
LiveData Notify views when underlying database changes
Room Fluent SQLite database access
ViewModel Manage UI-related data in a lifecycle-conscious way