Firebase provides a bunch of awesome services such as Firestore, Auth, Cloud Storage, Cloud Functions and Cloud Messaging. Learn how to use them in this tutorial course in which we’re making a fully fledged real-time chat app with everything you’d expect like sending images and getting notifications when we receive a new message.

In this part you will learn how to show a list of all users. We will use a recycler view with the help of Groupie library. You will learn how to set up firestore listeners and how to utilize the power of Groupie plugin which simplifies the work with recycler view.

This post contains all the code that’s been written in this YouTube video.

 

To get the code check out this GitHub repository: https://github.com/ResoCoder/firebase-firestore-chat-app

About the author 

Matt Rešetár

Matt is an app developer with a knack for teaching others. Working as a freelancer and most importantly developer educator, he is set on helping other people succeed in their Flutter app development career.

You may also like

  • First of all, many thanx for the great tutorial. Really enjoying it…
    Now, I always have trouble with “GlideApp” (it always keeps giving me “Unresolved Reference” error.) Sometimes, I perform a Clean Project task and its fixed, sometimes not….
    Any suggestions of how to overcome this nagging error ?

    Thanx in advance

  • Hi Matej!
    How are you? after all, thanks for the tutorials!
    I have a problem after add the groupie library.

    I get this following error:
    Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add ‘tools:replace=”android:appComponentFactory”‘ to element at AndroidManifest.xml:5:5-25:19 to override.

    Can you help me with this?
    Thanks and regards from Argentina!

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
    >