Room has great integration with LiveData. Results from SQL queries can be easily wrapped in LiveData container. This way LiveData can be observed in the UI. When the data is changed in the database, all active observers get notified and update the corresponding views. This saves time for writing plenty lines of code for updating all the views containing database data every time database change is triggered.
In the CoinDao we have the getHistoricalData() method which returns all the available records specified by the cryptoCurrency parameter. Room maps the records to the Coin class and returns a List of coins.