2017-04-05 102 views
0

我創建了一個用戶註冊和登錄方法。但是,當我註冊時,它並未向我展示任何在Firebase中註冊的用戶數據。 這是我的MainActivity。Android studio firebase認證沒有註冊

package com.mike.mikeproject; 

import android.content.Intent; 
import android.nfc.Tag; 
import android.support.annotation.NonNull; 
import android.support.annotation.Nullable; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.util.Log; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 

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; 
import com.google.firebase.auth.FirebaseUser; 
import com.google.firebase.database.ChildEventListener; 
import com.google.firebase.database.DataSnapshot; 
import com.google.firebase.database.DatabaseError; 
import com.google.firebase.database.DatabaseReference; 
import com.google.firebase.database.FirebaseDatabase; 
import com.google.firebase.database.ValueEventListener; 

import java.util.ArrayList; 
import java.util.HashMap; 

public class MainActivity extends AppCompatActivity { 



private DatabaseReference lDatabase; 

private EditText email; 
private EditText password; 
private Button signup; 
private Button login; 

private FirebaseAuth mAuth; 
private FirebaseAuth.AuthStateListener mAuthListener; 





@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 




    lDatabase = FirebaseDatabase.getInstance().getReference(); 


    email = (EditText) findViewById(R.id.user_email); 
    password = (EditText) findViewById(R.id.user_password); 
    signup = (Button) findViewById(R.id.signup_btn); 
    login = (Button) findViewById(R.id.login_btn); 

    mAuth = FirebaseAuth.getInstance(); 
    mAuthListener = new FirebaseAuth.AuthStateListener() { 
     @Override 
     public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 

      FirebaseUser user = firebaseAuth.getCurrentUser(); 

      if (user == null){ 




      }else { 

       startActivity(new Intent(MainActivity.this, WelcomeActivity.class)); 


      } 


     } 
    }; 





    signup.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 



      String emailtodb = email.getText().toString().trim(); 

      String passwordtodb = password.getText().toString().trim(); 

      //Toast.makeText(MainActivity.this,"Sign up button clickeddd"+emailtodb+passwordtodb, Toast.LENGTH_LONG).show(); 


      if(!TextUtils.isEmpty(emailtodb) && !TextUtils.isEmpty(passwordtodb)){ 



       mAuth.createUserWithEmailAndPassword(emailtodb,passwordtodb).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 

         if(task.isSuccessful()){ 


          startActivity(new Intent(MainActivity.this,WelcomeActivity.class)); 



         } else { 


          Toast.makeText(MainActivity.this,"Sign up failed", Toast.LENGTH_LONG).show(); 

         } 

        } 
       }); 


      } else { 

       Toast.makeText(MainActivity.this,"email and password required", Toast.LENGTH_LONG).show(); 


      } 





     } 
    }); 


    login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      startActivity(new Intent(MainActivity.this,LoginActivity.class)); 

     } 
    }); 




} 

@Override 
protected void onStart() { 
    super.onStart(); 

    mAuth.addAuthStateListener(mAuthListener); 

} 



@Override 
protected void onStop() { 
    super.onStop(); 



    if (mAuthListener != null) { 
     mAuth.removeAuthStateListener(mAuthListener); 
    } 


    } 
} 

我的代碼有什麼問題?爲什麼它沒有註冊。提前致謝。

火力用戶記錄:

enter image description here

+0

你得到了什麼錯誤? –

+0

沒有錯誤兄弟。就像我曾經按下注冊按鈕註冊過程沒有發生,並在我的firebase我看不到任何數據(添加截圖到我的問題) – Mikethetechy

+0

您是否添加了'INTERNET'權限來顯示? –

回答

0

所以答案是如果你正在做的一切權利,它不工作或signsup用戶。這是因爲它看起來不會使用模擬器註冊。必須在一個真正的Android設備..它爲我使用我的手機。只需導出爲.apk並對其進行測試即可。