1: Handle Individual Sign-In
In that case, the application is going ahead of time and exhibit the contents of the speak area. Usually, it ought to reroute the user to either a sign-in monitor or a sign-up monitor. With FirebaseUI, generating those displays takes much less code than you might think about.
Inside onCreate() method of MainActivity , find out if the consumer is already closed in. For this, check if the present FirebaseUser object isn’t null . If it’s null , you should generate and configure an Intent item that starts a sign-in task. To do this, make use of the SignInIntentBuilder class. Once the intent is ready, you need to establish the sign-in activity using the startActivityForResult() strategy.
Keep in mind that the sign-in activity additionally enables new registered users to join up. Consequently, you don’t have to compose any added laws to address user registration.
As you can tell in earlier laws, when the consumer is already signed in, we initial display a Toast pleasant the consumer, immediately after which call a method named displayChatMessages. For the present time, simply generate a stub because of it. We will end up being incorporating signal to they later on.
Once the consumer has finalized in, MainActivity will get a consequence in the shape of an intention . To look at they, it is vital that you override the christiandatingforfree login onActivityResult() process.
If outcome’s rule are RESULT_OK , this means the consumer has signed in successfully. If yes, you have to contact the displayChatMessages() approach again. Normally, contact finish() to close off the software.
Step 2: Handle User Sign-Out
Automatically, FirebaseUI utilizes Smart Lock for Passwords. Thus, as soon as the customers sign in, they’re going to stay finalized in even if the application was restarted. Permitting the consumers to signal on, we are going to today include a sign-out choice to the overflow selection of MainActivity .
Generate another selection reference document known as main_menu.xml and add just one items to they, whose subject attribute is scheduled to indication out. The belongings in the file will want to look such as this:
To instantiate the menu resource inside MainActivity , override the onCreateOptionsMenu() means. After that name the inflate() way of the MenuInflater object.
Next, override the onOptionsItemSelected() way to handle click happenings on selection product. Inside approach, you’ll name the signOut() method of the AuthUI lessons to signal the user completely. Due to the fact sign-out operation is actually performed asynchronously, we are going to include an OnCompleteListener to they.
The moment the consumer possess finalized
5. Establish An Unit
To be able to keep the chat emails in the Firebase real-time database, you need to produce an unit for them. The layout with the chat content, which we created early in the day within this guide, has three opinions. To populate those panorama, the product too need to have at the very least three areas.
Build an innovative new Java class labeled as ChatMessage.java and create three representative factors to they: messageText , messageUser , and messageTime . Also, create a constructor to initialize those variables.
To help make the product compatible with FirebaseUI, you must also add a standard constructor to they, in conjunction with getters and setters for the affiliate factors.
6. Post A Speak Content
Inside the listener, you have to 1st get a DatabaseReference object using the getReference() way of the FirebaseDatabase course. You may then call the push() and setValue() methods to put latest cases of the ChatMessage course toward real time databases.
The ChatMessage instances must, without a doubt, become initialized by using the items in the EditText plus the display term from the currently signed-in user.