Я работаю с облачным хранилищем огня и по какой-то причине не могу создавать новые документы (до этого момента я мог)
FirebaseFirestore db;
Вызов метода createUserDoc для создания нового документа
@Override
protected void onStart() {
super.onStart();
createUserDoc();
}
Метод
private void createUserDoc() {
db = FirebaseFirestore.getInstance();
Map<String, Object> userDetails = new HashMap<>();
userDetails.put("phone" , phoneNumberEditText.getText().toString());
db.collection("users")
.document()
.set(userDetails)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Intent i = new Intent(LogingWithPhoneActivity.this,MainActivity.class);
startActivity(i);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
примечание - даже пример из официального документа у меня вдруг не заработал
Я вставил строку отладки в «onFailure» и не получил вообще никаких ошибок, я получил 0 ошибок (как правило), и я думаю, что «onComplete» никогда не вызывается (если бы это было, то намерение переместило бы пользователя к следующему экран)
Если вы пытаетесь использовать оператор if if (task.isSuccessful()) { // } else { Log.d(TAG, task.getException().getMessage()); }. Какой результат в логарифме?
@AlexMamo результат в logcat ничего, я вообще не получаю печати
Проблема заключалась в том, что правила firebase были настроены неправильно, после изменения правил проблема была решена.
Странная часть заключается в том, что не было никаких проблем и ни одного журнала ошибок, что странно, потому что обычно, если правила firebase предотвращают доступ к данным, об этом будут журналы.
В любом случае, все, что мне нужно было сделать, это изменить правила в базе данных.
Вы получали какие-либо ошибки? Если официальный пример кода тоже не работает, возможно, у вас есть проблема с конфигурациями вашего проекта. Если вы записываете примерное значение в базу данных, например "db.collections (" users "). Document (" test "). Set (" key "," value ") ", это работает? Правильно ли вы следовали руководству «Начало работы»? Также вставьте строку отладки в «onFailure», чтобы можно было прочитать, есть ли ошибки.