【问题标题】:Why does the onError method keep getting invoked(Firebase)?为什么 onError 方法不断被调用(Firebase)?
【发布时间】:2016-09-25 04:03:33
【问题描述】:

我正在使用 fire base,我正在关注在他们的网站上创建用户帐户代码 ->https://www.firebase.com/docs/android/guide/login/password.html.

 public class RegisterFragment extends Fragment {
private final String FIREBASE_URL = "(MyFirebaseURL)";
private Firebase fRef;
private EditText etUserName;
private EditText etEmail;
private EditText etPassword;
private EditText etConfirmPassword;
private Button bSubmit;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){

    View v = inflater.inflate(R.layout.fragment_register,container,false);
    Firebase.setAndroidContext(getActivity());

    fRef = new Firebase(FIREBASE_URL);

    fRef.createUser("(hardcodedEmail)", "(hardcodedPassword)", new Firebase.ValueResultHandler<Map<String, Object>>() {
        @Override
        public void onSuccess(Map<String, Object> result) {

            Toast toast = Toast.makeText(getActivity(),"Registration Successful! UID: " + result.get("uid"), Toast.LENGTH_LONG);
            toast.show();
        }

        @Override
        public void onError(FirebaseError firebaseError) {
            Toast toast = Toast.makeText(getActivity(),"There was an error", Toast.LENGTH_LONG);
            toast.show();
        }
    });

...由于某种原因 onError() 方法被调用。 这是为什么呢?

如果这有帮助,我首先使用“Firebase.setAndroidContext(getActivity());”在我的 LoginFragment 中。

【问题讨论】:

  • 你为什么不检查 FirebaseError firebaseError 变量,不知何故我认为它会回答你的问题。

标签: java android database firebase android-studio-2.1


【解决方案1】:

您正在使用硬编码的电子邮件和密码调用 create user 方法,因此如果您在每次尝试后不从 Web 控制台中删除它,firebase 极有可能返回错误,因为它无法创建两次相同的用户.无论如何,FirebaseError 通常有你需要的关于它为什么不起作用的所有信息。所以你应该检查一下

【讨论】:

  • 我实际上在创建新用户之前确保我的数据库是清晰的。
猜你喜欢
  • 2017-11-17
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2019-01-23
  • 2021-03-19
  • 1970-01-01
  • 2012-05-15
相关资源
最近更新 更多