0
/FirebaseAuth:ユーザー(wmXtRaDooVcABlqA8UCRSLSE0qG2)についてリスナーに通知します。 D/FirebaseAuth:リスナーにユーザーについて通知します(wmXtRaDooVcABlqA8UCRSLSE0qG2)。 D/FirebaseApp:認証状態リスナーに通知します。 D/FirebaseApp:認証済みのリスナーを0個通知します。 D/FirebaseApp:認証状態リスナーに通知します。 D/FirebaseApp:認証済みのリスナーを0個通知します。Firebaseリスナーがサインインしているユーザーをリッスンしていない
これはログからのものです。だからサインインしましたが、うまくいきません。ここでログインのためのコードは次のとおりです。LOGGEDINため
public class LoginActivity extends AppCompatActivity {
EditText editText;
EditText editText2;
Button button;
public FirebaseAuth Auth = FirebaseAuth.getInstance();
public FirebaseAuth.AuthStateListener authlistener;
String email, pass;
ProgressBar bar;
public View.OnClickListener buttonListener = new View.OnClickListener() {
public void onClick (View view){
email = editText.getText().toString().trim();
pass = editText2.getText().toString().trim();
logInUser();
}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
editText = (EditText)findViewById(R.id.editText);
editText2 = (EditText)findViewById(R.id.editText2);
button = (Button)findViewById(R.id.button2);
Auth = FirebaseAuth.getInstance();
button.setOnClickListener(buttonListener);
bar = (ProgressBar)findViewById(R.id.progressBar2);
bar.setVisibility(View.INVISIBLE);
authlistener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
} else {
// User is signed out
}
// ...
}
};
// ...
}
@Override
public void onStart() {
super.onStart();
Auth.addAuthStateListener(authlistener);
}
@Override
public void onStop() {
super.onStop();
if (authlistener != null) {
Auth.removeAuthStateListener(authlistener);
}
}
public void logInUser(){
bar.setVisibility(View.VISIBLE);
Auth.signInWithEmailAndPassword(email, pass)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()) {
Intent loggedInActivity = new Intent(getApplicationContext(), Loggedin.class);
startActivity(loggedInActivity);
}
else{
Toast.makeText(getApplicationContext(), "There was an error, try again", Toast.LENGTH_SHORT).show();
bar.setVisibility(View.INVISIBLE);
}
}
});
}
}
コード(ログイン後、次の目的、)
public class Loggedin extends AppCompatActivity {
Button changeMail, changePass;
String oldPassword;
String newPassword;
EditText oldpass, newpass;
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
public FirebaseAuth Auth = FirebaseAuth.getInstance();
public FirebaseAuth.AuthStateListener AuthListener;
public void updatePassword(){
oldPassword = oldpass.getText().toString();
newPassword = newpass.getText().toString();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loggedin);
changeMail = (Button)findViewById(R.id.changeMail);
changePass = (Button)findViewById(R.id.changePass);
oldpass = (EditText)findViewById(R.id.oldPass);
newpass = (EditText)findViewById(R.id.newPass);
oldpass.setVisibility(View.INVISIBLE);
newpass.setVisibility(View.VISIBLE);
AuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
Log.i("hello", "hi" + user.getUid());
} else {
Toast.makeText(getApplicationContext(), "not logged in", Toast.LENGTH_LONG).show();
}
}
};
}
}
見ての通り、私はLoggedIn.Javaで設定リスナーを持っていますしかし、それはログインデータを取得していないのですか?なぜそれはこのようなものですか?どうすれば修正できますか?