Scrypto – Crypto screener

This app lists various cryptocurrencies in market.

CoinListActivity is the home activity. It is responsible for displaying a list of coins. It observes data from CoinListViewModel and updates the UI when data changes.

On item click, it parses data to CoinDetailActivity. CoinDetailActivity uses the parsed object and updates the detailed information of the selected coin. Note: New ViewModel or shared ViewModel can be used to populate DetailedView using the id of coin, but for keeping things simple and for learning purposes, parceable is used to parse data into activity.

CoinListViewModel requests data from CoinsRepository and updates CoinListActivity.

CoinsRepository is responsible for managing data. It makes an API call and stores data in DB if the internet is available. The repository returns the data stored in DB. Room DB is used to manage storage.

GitHub

View Github