Я создаю чат. Короче я создал apk . запускаю пишет "Приложение остановлена" после того как я нажимаю на кнопку "SendMesseges"
Раньше так не было. Все норм было. Я думаю может проблема в коде?
package com.android.clock;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.EventListener;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.FirebaseFirestoreException;
import com.google.firebase.firestore.QuerySnapshot;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private FirebaseFirestore db;
private RecyclerView recyclerViewMessages;
private MessagesAdapter adapter;
private EditText editTextMessage;
private ImageView imageViewSendMessage;
private String author;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseFirestore db = FirebaseFirestore.getInstance();
recyclerViewMessages = findViewById(R.id.recyclerViewMessages);
editTextMessage = findViewById(R.id.editTextMessage);
imageViewSendMessage = findViewById(R.id.imageViewSendMessage);
adapter = new MessagesAdapter();
recyclerViewMessages.setLayoutManager(new LinearLayoutManager(this));
recyclerViewMessages.setAdapter(adapter);
author = "Iskoa";
imageViewSendMessage.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
sendMessage();
}
});
}
private void sendMessage() {
String textOfMessages = editTextMessage.getText().toString().trim();
if (!textOfMessages.isEmpty()) {
recyclerViewMessages.scrollToPosition(adapter.getItemCount() - 1);
db.collection("messages").add(new Message(author, textOfMessages, System.currentTimeMillis())).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override public void onSuccess(DocumentReference documentReference) {
editTextMessage.setText("");
}
}).addOnFailureListener(new OnFailureListener() {
@Override public void onFailure(
@NonNull Exception e) {
Toast.makeText(MainActivity.this, "Сообщение не отправлено", Toast.LENGTH_SHORT).show();
}
});
db.collection("messages").orderBy("date").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override public void onEvent(
@Nullable QuerySnapshot queryDocumentSnapshots,
@Nullable FirebaseFirestoreException e) {
if (queryDocumentSnapshots != null) {
List<Message> messages = queryDocumentSnapshots.toObjects(Message.class);
adapter.setMessages(messages);
}
}
});
}
}
}