Firebase не может успешно добраться до моей таблицы пользователей в моем приложении для Android - PullRequest
0 голосов
/ 30 ноября 2018

После нескольких часов выяснения, как интегрировать Firebase с моим приложением, мне наконец-то удалось это сделать.Теперь я создал таблицу Users (если я правильно следовал документации Google) и добавил поля для моего первого пользователя

enter image description here

Кроме того, я установил свои правилавот так:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Вот как у меня фрагмент входа в систему:

public class SignInFragment extends Fragment {

    public static SignInFragment newInstance()
    {
        return new SignInFragment();
    }

    private FirebaseAuth mAuth;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_login,
                container, false);
        mAuth = FirebaseAuth.getInstance();

        final Button btnSignIn = view.findViewById(R.id.btnSignIn);
        final EditText email = view.findViewById(R.id.email_text);
        final EditText password = view.findViewById(R.id.password_Text);

        btnSignIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GetUser(email.toString(), password.toString());
            }
        });    
        return view;
    }

    private void  GetUser(String email, String password) {
        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            // Sign in success, update UI with the signed-in user's information
                            FirebaseUser user = mAuth.getCurrentUser();
                            Toast.makeText(getActivity(),"User found!",Toast.LENGTH_SHORT).show();
                        }
                        else{
                            Toast.makeText(getActivity(),"No user by that email!",Toast.LENGTH_SHORT).show();
                        }
                    }
                });
    }

}

Когда я доберусь до экрана входа в систему и введу тот же адрес электронной почты и пароль, которые у меня есть вмоя таблица пользователей показывает тост-сообщение «неправильный пользователь».Я проверил свои записи и все соответствует.Итак, мой вопрос: что я делаю не так?Я пропускаю больше шагов, чтобы добраться до моей таблицы пользователей?Стоит также отметить, что мой код полностью основан на Firebase Assistant, в руководстве по аутентификации в Android Studio.

1 Ответ

0 голосов
/ 30 ноября 2018

Вместо использования email.toString() используйте email.getText().toString()

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