Я не могу прочитать данные из транзакций - PullRequest
0 голосов
/ 16 июня 2019

Когда пользователь отправляет данные в firestore и снова входит в систему, система не читает этот код, он присоединяется уже (если) после добавления данных, но возврат не удался, потому что я думаю, что firestore принимает только запись для записи, есть ли какое-либо решение?

if (snapshot.exists()) {
   return snapshot.getString("ID");
}

Код

FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
        DocumentReference documentReference = firebaseFirestore.collection("Players").document(saveSystem.LoadStringData("LoginType").equals("Facebook") ? "F" + saveSystem.LoadStringData("ID") : "G" + saveSystem.LoadStringData("ID"));
        firebaseFirestore.runTransaction(new Transaction.Function<Object>() {
            @Override
            public Object apply(Transaction transaction) throws FirebaseFirestoreException {
                DocumentSnapshot snapshot = transaction.get(documentReference);
                if (snapshot.exists()) {
                    return snapshot.getString("ID");
                } else {
                    HashMap<String, Object> hashMap = new HashMap<>();
                    hashMap.put("ID", saveSystem.LoadStringData("ID"));
                    return hashMap;
                }
            }
        }).addOnSuccessListener(new OnSuccessListener<Object>() {
            @Override
            public void onSuccess(Object aObject) {
                Toast.makeText(Test.this, "" + aObject, Toast.LENGTH_SHORT).show();
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {

            }
        });

Извините за простой английский язык.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...