Android Studio上的Firebase(LoginScreen)

时间:2015-10-29 13:27:06

标签: android android-studio firebase

因此,我尝试使用Firebase在Android Studio上的Java中为我的应用创建登录屏幕。目前,在创建帐户时,我这样做:

if (password.getText().toString().equals(confirm.getText().toString())) {
    Map map = new HashMap<String, String>();
    map.put(username.getText().toString(), password.getText().toString());
    myFirebaseRef.push().setValue(map);
    error.setText("Account created!");
}
else {
   error.setText("Passwords do not match");
}

但它会将数据保存在我的Firebase上 this

所以现在在我的登录屏幕上,一旦用户输入用户名,我想在我的Firebase中搜索用户名,并确保它存在,然后查看密码是否与他们输入的内容相符。我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:1)

正如Amy已经说过:无论你做什么,立即将代码更改为停止以纯文本格式存储密码。这是一个非常糟糕的做法。通常,身份验证最好留给专用工具,例如Firebase Authentication

除此之外,您还需要更改存储用户的方式。您似乎用他们的名字识别用户,将他们存储在他们的名下:

Map map = new HashMap<String, String>();
map.put(username.getText().toString(), password.getText().toString());
myFirebaseRef.updateChildren(map);

现在,您可以按名称查找用户:

Firebase userRef = myFirebaseRef.child(username.getText().toString());
userRef.addListenerForSingleValueEvent(...

有关详情,请参阅Firebase guide on reading data