Firebaseリアルタイムデータベースにデータを挿入しようとしています。私のアプリケーションのロジックは、ユーザーがサインアップしているときにデータベースのユーザー列の下にユーザー名とパスワードを含む新しいフィールドを作成することです。Android Firebaseリアルタイムデータベースは、新しいデータを追加する代わりにデータを置き換えます。
申し込み時に、電子メール、ユーザー名、およびパスワードが必要です。私はこれを行うためにFirebase Authを使用しています。私はアプリケーションを実行すると、私はサインアップし、データベースの値を正常に挿入することができますが、新しいユーザーを作成するのではなく、新しいユーザーがサインアップするたびに値がデータベースに置き換えられます。 私が間違っていると助けてください。これは私のコードです。
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
UserInformation userInformation = new UserInformation(username,password);
//checking if success
if(task.isSuccessful()){
databaseReference.child("users").setValue(userInformation);
Toast.makeText(MainActivity.this,"Successfully registered",Toast.LENGTH_LONG).show();
finish();
startActivity(new Intent(getApplicationContext(), ProfileActivity.class));
}else{
//display some message here
Toast.makeText(MainActivity.this,"Registration Error",Toast.LENGTH_LONG).show();
}
progressDialog.dismiss();
}
});
データベースにプレーンテキストのパスワードを保存することは非常に注意してください。これは非常に悪い習慣であり、ユーザーの信頼を失うすばらしい方法です。 –