ユーザーがアンドロイドアプリでfirebaseのアカウントを作成すると、ユーザー名などの別の情報を追加できる画面に移動する必要があります。アプリはAuthStateListenerを通じて活動を切り替えるために知っているので、アカウントが作られたか、誰かがここで実行されるコードに署名されたときに(何の意図は、理由を知るために、今ここに変更していない読み続けている):Firebaseデータベースに特定のユーザのデータがあるかどうかを確認するにはどうすればよいですか? (Android/Java)
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
userID = user.getUid();
toastMessage("User has signed in: " + user.getEmail());
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
// ...
}
};
でユーザーがnullに等しくないかどうかをチェックするifブロック。これは、ユーザー名を入力する別のアクティビティにインテントを変更する必要がある場所です。基本的には、ユーザーがすでにユーザー名を持っていてサインインしている場合は、ホーム画面のアクティビティに誘導され、サインアップしている場合はユーザー名を作成するアクティビティに移動する必要があります。どのアクティビティを送信する必要があるかを知るためには、コードをfirebaseデータベースで調べ、アカウントにユーザ名があるかどうかを確認する必要があります。
mRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG, "This: "+dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
dataSnapshotsを使用しています唯一の方法は、(他の人による)、データベースから読み取ることがあればそのようなOnDataChangeのメソッドを通じてであるように私はこのような状況でfirebaseからデータを読み取る方法を見つけ出すことはできません、それはそうです。この問題は、このコードがデータがデータベースに追加されたときにのみ起動されるため、ユーザーが単純にサインアップしていてデータベースにユーザー名を追加したことがない場合、このメソッドはコードを実行しません。特定のユーザーにデータがあるかどうかを確認するために、データベースからデータを照会するために照会するにはどうすればよいですか?
私はこれを理解していますが、ユーザーが何も入力していないために何もデータがない場合、これは起動しません。理由はありません。 – dylan
私が自分のアプリの1つで使っている方法の1つを説明するのを手助けする。 –
ああ私は今見ます!これは完全にうまくいきました – dylan