Android Architecture Components Reach Stability
Written by Kay Ewbank   
Thursday, 09 November 2017

Google has released the 1.0 stable version of its Android Architecture Components. These are a collection of libraries that Google says help you design robust, testable, and maintainable apps.

The Architecture Components are designed to help your apps deal with the aggressive resource management of the Android OS. Aggressive resource management enables Android OS to work on such a wide variety of devices, but it does make it harder to build robust apps.

When Google launched the Android Architecture Components at Google I/O, Mike James was dubious about how useful they would prove to be, saying:

"With turbulent times in the Android world, now is probably not the moment for an architecture library and certainly not an under-developed and probably under-resourced one." 

A more upbeat analysis of the components can be seen in this video from Google:



The Architecture Components are made up of libraries for common tasks like lifecycle management and data persistence to help developers write modular apps with less boilerplate code.

Two of the component libraries - Room and Lifecyle - have now been launched in a 1.0 stable version.

Room is a SQLite object mapping library that can be used to convert SQLite table data to Java objects. It provides compile time checks of SQLite statements and can return RxJava, Flowable and LiveData observables.

Room has three main components - database, entity and DAO. Database contains the database holder and serves as the main access point for the underlying connection to your app's persisted, relational data. Entity represents a table within the database, and DAO contains the methods used for accessing the database.

The Lifecycle library provides tools for managing the state of components. It can be used to create lifecycle-aware components that manage their own lifecycles, reducing the possibility of leaks or crashes. The library provides classes and interfaces that let you build components that can automatically adjust their behavior based on the current lifecycle state of an activity or fragment.

Lifecycles are now also integrated with the Support Library, so you can use them with standard classes like AppCompatActivity.

The Lifecycle library is the foundation for other Architecture Components like LiveData, which is a lifecycle-aware observable that holds data and provides updates. The Lifecycle library is also the foundation for ViewModel, which separates ownership of view data and logic from lifecycle-bound entities like Activities and Fragments.

Other Architecture Components will become available in the coming months, probably starting with PagedList (which is currently in alpha). This is designed to handle large datasets better. 


More Information

Android Architecture Components

Related Articles

Android Gets Architecture Components 

Android Studio 3

Kotlin - New Language For Android

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Azure AI And Pgvector Run Generative AI Directly On Postgres

It's a match made in heaven. The Azure AI extension enables the database to call into various Azure AI services like Azure OpenAI. Combined with pgvector you can go far beyond full text search. Let's  [ ... ]

Java Version 22 Released

JDK 22 is not a Long Term Support release, but is one of the regular releases that are scheduled to arrive every six months. Still, it has got a lot to show for itself.

More News


raspberry pi books



or email your comment to:

Last Updated ( Thursday, 09 November 2017 )