0
私はカスタムログインをする必要があります。私は、Google、Facebookなどのログインプロバイダを使用したくない。私はユーザーの情報(名前と私の場合は電話)の古い学校の単一のデータを取得する必要があり、ユーザーのデータがデータベース内で見つかった場合、ホームページにリダイレクトします。私は何かを試して、それが動作していません。Android Firebase:google、facebookなどのログインプロバイダを使用せずに単一のユーザーデータとカスタムログインを取得するには
java snippet ...........................................文字列を比較するとき.....
public class LoginActivity extends AppCompatActivity {
EditText editTextname;
EditText editTextphone;
Button buttonlogin;
Spinner spinnerdesignation;
DatabaseReference rootRef= FirebaseDatabase.getInstance().getReference();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
editTextname=(EditText)findViewById(R.id.name);
editTextphone=(EditText)findViewById(R.id.phonenumber);
spinnerdesignation=(Spinner)findViewById(R.id.designation);
buttonlogin=(Button)findViewById(R.id.login);
buttonlogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
findUser();
}
});
}
public void findUser(){
String designation=spinnerdesignation.getSelectedItem().toString();
if(designation=="Faculty"){
rootRef.child("Faculty").orderByChild("facultyName").equalTo(editTextname.toString()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map<String,String> map=dataSnapshot.getValue(Map.class);
String phoneNumber=map.get("facultyPhone");
if(phoneNumber==editTextphone.toString()){
Intent intent=new Intent(getApplicationContext(),FacultyActivity.class);
startActivity(intent);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
}
データベース
-Root
-Faculty
-Kg5Qe482G7xEn9rYLXn
facultyDept:"computer science"
facultyDesignation: "HOD"
facultyEmail: "[email protected]"
facultyID: "-Kg5Qe482G7xEn9rYLXn"
facultyName: "john"
facultyPhone: "1234567891"
-Kg5QjXQIZeuwvHi22WH
-Student
-Kg-Jg1f68RXb4N47sbA