Lorem ipsum dolor sit amet, consectetur adipiscing elit. Test link

firebase chat operation class in android

firebase chat operation class in android


public class FirebaseChat {

    private DatabaseReference databaseReference;
    private FirebaseUser currentUser;
    private List<Message> messages = new ArrayList<>();

    public FirebaseChat() {
        databaseReference = FirebaseDatabase.getInstance().getReference("messages");
        currentUser = FirebaseAuth.getInstance().getCurrentUser();
    }

    public void sendMessage(String messageContent) {
        String messageId = databaseReference.push().getKey();
        Message message = new Message(messageId, messageContent, currentUser.getUid(), System.currentTimeMillis());
        databaseReference.child(messageId).setValue(message);
    }

    public List<Message> getMessages() {
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                messages.clear();
                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    Message message = snapshot.getValue(Message.class);
                    messages.add(message);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                // Handle error
            }
        });

        return messages;
    }

    public interface OnMessageReceivedListener {
        void onMessageReceived(List<Message> messages);

        void onMessageReceiveFailed(String message);
    }
}

        

To use this class, create an instance of it in your activity or fragment and call the appropriate method with the required parameters. Here's an example of using this class to send a message and receive messages:


FirebaseChat firebaseChat = new FirebaseChat();

// Send a message
firebaseChat.sendMessage("Hello, world!");

// Receive messages
List<Message> messages = firebaseChat.getMessages();

        

In this example, we create a new instance of the FirebaseChat class, call the sendMessage() method to send a message, and call the getMessages() method to receive messages. The getMessages() method returns a list of Message objects. To handle message received events, you can implement the OnMessageReceivedListener interface and pass an instance of it to the getMessages() method. Inside the onMessageReceived() method, you can do something after the messages are received successfully.

Post a Comment