2017-06-24 9 views
1

アカウントが作成されているかどうかを確認するには、ifステートメントの記述方法がわかりません。 ここに私のコードです。 それが存在するかどうかを判断する方法がわかりません。 私はそれを解決するために手伝ってください。Android firebaseアカウントを作成する

public class MainActivity extends AppCompatActivity {

DatabaseReference mRef = FirebaseDatabase.getInstance().getReference(); 
private Button Go; 
private EditText account; 
private EditText password; 
private EditText pass2; 
private FirebaseAuthException mAuth; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    account = (EditText) findViewById(R.id.editText); 
    password = (EditText) findViewById(R.id.editText2); 
    pass2 = (EditText) findViewById(R.id.editText3); 
    Go = (Button) findViewById(R.id.button2); 
    Go.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startSignin(); 
      Intent intent = new Intent(); 
      intent.setClass(MainActivity.this,MemberCenter.class); 
      startActivity(intent); 
     } 
    }); 
} 

    private void startSignin(){ 
     String value = account.getText().toString(); 
     String mvalue = password.getText().toString(); 
     String two = pass2.getText().toString(); 

     if(mvalue.equals("")||value.equals("")) 
     { 
      Toast.makeText(getApplicationContext(),"cant be empty!",Toast.LENGTH_LONG).show(); 
     } 
     else if(!mvalue.equals(two)) 
     { 
      Toast.makeText(getApplicationContext(),"password are different",Toast.LENGTH_LONG).show(); 
     } 

私はこのコードを入力する方法がわかりません。

 else if(mRef==null) 
     { 
      Toast.makeText(getApplicationContext(),"account is existed",Toast.LENGTH_LONG).show(); 
     } 
     else{ 
      mRef.child("Account").child(value).setValue(mvalue); 
     } 

} 

}

答えて

0

ユーザーが認証されているかどうかを確認するには、すなわち、それはFirebaseアカウントのユーザーのリストにあるか、これだけを使用していません。

FirebaseAuth auth=FirebaseAuth.getInstance(); 
if(auth!=null){ 
    //account exist 
    //do your work here 
    checkIfUserExists(); 

} 
else { 
    //account does not exist.You may exit the app or do whatever you want 
} 

void checkIfUserExists(){ 
    FirebaseAuth mFirebaseAuth=FirebaseAuth.getInstance(); 
    mFirebaseAuth.createUserWithEmailAndPassword(email,password) 
      .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if(task.isSuccessful()){ 
         //User registered successfully 
        }else{ 
         Log.e("Response","Failed to create user:"+task.getException().getMessage()); 
        } 
       } 
      }); 
} 

これはトリックを行う必要があります。

+0

FirebaseAuthと入力すると、FirebaseAuthはありません。「FirebaseAuthシンボルを解決できません。 –

+0

これをあなたのbuild.gradle(Module:app)ファイル 'compile 'com.google.firebase:firebase-auth:10.0.1''に追加してプロジェクトを同期させてからあなたの活動に行き、Alt + Enterを押して自動インポートしてくださいそれはそれを行う必要があります –

+0

ありがとう、私はコードのような入力した後、私はアプリを実行すると、彼は常にアカウントが存在すると私に言った。 –

関連する問題