import com.firebase.client.Firebase;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
public class MainActivity extends AppCompatActivity {
private ImageButton mSendata;
private Firebase mRef; // database connection
private FirebaseAuth mAuth;
private TextView email;
private TextView password;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
//runs when activity created
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAuth = FirebaseAuth.getInstance();
setContentView(R.layout.activity_main);
email = (TextView) findViewById(R.id.email);
password = (TextView) findViewById(R.id.password);
mRef = new Firebase("https://notifyme-dfed3.firebaseio.com/");
mSendata = (ImageButton) findViewById(R.id.imageButton);
// Auth change method
mAuthListener = new FirebaseAuth.AuthStateListener() {
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
//这里有问题--------------------------------------------- --------
if (firebaseAuth.getCurrentUser() != null) {
startActivity(new Intent(MainActivity.this, AccountActivity.class));
}
}
};
// --------------------结束 - 请在评论中查看--------------------- ---------------------------
mSendata.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
startSignIn(); //calls sign in method when user clicks button
}
});
}
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
//此方法登录用户
public void startSignIn() {
String emails = email.getText().toString();/* gets user input*/
String passwords = password.getText().toString();
//检查字段是否为空
if (TextUtils.isEmpty(emails) || TextUtils.isEmpty(passwords)) {
Toast.makeText(MainActivity.this, "Fields are empty", Toast.LENGTH_LONG).show();
} else {
mAuth.signInWithEmailAndPassword(emails, passwords).addOnCompleteListener(new OnCompleteListener < AuthResult > () {
@Override
public void onComplete(@NonNull Task < AuthResult > task) { /* if task not success show dialog
if (!task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Sign in Problem", Toast.LENGTH_LONG).show();
}
}
});
}
}
}// end of code
在您的清单文件中添加以下内容在<manifest>
标记中(最后)
xmlns:tools="http://schemas.android.com/tools"
然后在qazxsw poi标签(开头)
<application>
这是我遇到的一个问题,我已经回答了它tools:replace="android:allowBackup"
android:allowBackup="false"
android:fullBackupContent="false"
,但我在这里重新发布,以便这里的人们可以得到好处。正如@Doug Stevenson上面提到的firebase在手机上保存了一些数据,添加这些标签将确保不会发生这种情况......所以当您卸载应用程序并再次安装它时,它将清除与该应用程序关联的所有数据。