Androidiots Podcast 14 : Better RecylerViews with Zomato.

Anupam Singh
AndroIDIOTS
Published in
2 min readMay 27, 2019

Zomato is an Indian search and discovery platform for restaurants, founded in 2008 by Deepinder Goyal and Pankaj Chaddah. It currently operates in 24 countries with more than 50 million downloads of its Android app.
Such scale requires an app to be dynamic enough to support various types of restaurants, cuisines of multiple locations. Hence the App needs to be developed at scale and be able to serve in all the possible forms.
We all know in Android this can be achieved with templatized nested Recyclerview and in this episode we have Sajal Gupta, Prateek and Yashika from Zomato's Android team, walk us through their journey with Recyclerview & its adapter and things that they do to make it highly performant and scalable.

Show Notes :

Generations of Recyclerview adapter at Zomato Android App.

Better RecyclerView Adapter (V1):

Heavy lifting is done by the base adapter itself, the developer extending this version needs to take care of onCreateViewHolder() and rest everything is sorted.

Better RecyclerView Adapter(V2):

View model is abstracted which was previously coupled with the view but now view holder holds the view model. Hence the onbind() method is no more needed.

Better RecyclerView Adapter (V3):

With onset of DiffUtils the adapter evolved to support the same.

Question : How to send the user interaction information in this new Adapter?
Hint : Take a closer look to onViewAttachedToWindow() method.

For more adapter secrets do listen to the episode.

We are inviting Android Developers to contribute back to the community via AndroIDIOTS. If you are interested in recording a podcast or writing tech articles, we would love to have you on board. Here is a small form you can fill so we can get back to you.

Follow us on twitter for regular updates and feel free to DM the hosts (Anupam & Tushar) for any queries.

Cheers!!

--

--