I am making an android application. I first login the user with email and password and then in OnComplete method,if the task is successful, I am trying to access data on the database. But every time I get the message Listen at / failed.
My Main Activity code is as follows -
private FirebaseAuth auth;
private EditText inputEmail, inputPassword;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null) {
startActivity(new Intent(MainActivity.this, MainActivity.class));
finish();
}
setContentView(R.layout.activity_main);
inputEmail = (EditText) findViewById(R.id.txtMobile);
inputPassword = (EditText) findViewById(R.id.txtPassword);
btnLogin = (Button) findViewById(R.id.btnLogin);
auth = FirebaseAuth.getInstance();
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = inputEmail.getText().toString();
final String password = inputPassword.getText().toString();
//authenticate user
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
// If sign in fails, display a message to the user. If sign in succeeds
// the auth state listener will be notified and logic to handle the
// signed in user can be handled in the listener.
if (!task.isSuccessful()) {
// there was an error
Log.e("Invalid","Invalid");
} else {
/*Intent intent = new Intent(MainActivity.this, Second.class);
startActivity(intent);
finish();*/
Firebase.getDefaultConfig();
auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null) {
Log.e("awesome",auth.getCurrentUser().getEmail());
}
Firebase firebase = new Firebase("https://test-fd3f2.firebaseio.com");
firebase.addChildEventListener(new ChildEventListener() {
// Retrieve new posts as they are added to Firebase
@SuppressWarnings("unchecked")
@Override
public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
if(snapshot.getValue()!= null) {
String mobileNum = snapshot.getValue().toString();
Log.e("here", mobileNum);
}
//Log.e("Title: ",newPost.get("password").toString());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.e("Cancel",firebaseError.getCode()+"");
Log.e("Cancel",firebaseError.getDetails());
Log.e("Cancel",firebaseError.getMessage());
}
//... ChildEventListener also defines onChildChanged, onChildRemoved,
// onChildMoved and onCanceled, covered in later sections.
});
}
}
});
}
});
}
UPDATE -
My firebase rules is as follows-
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…