How To Log In Two Different Types Of Users To Different Activities Automatically Without Having To Log In Again?
There's this android application I'm building with Firebase as the backend. It requires two different sets of users, a set of lecturers and a set of students. There's an issue howe
Solution 1:
public class LoginActivity extends AppCompatActivity {
private TextInputLayout mLoginEmail;
private TextInputLayout mLoginPassword;
private ProgressDialog mLoginProgress;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private DatabaseReference jLoginDatabase, student_token_reference, lecturer_token_reference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mLoginProgress = new ProgressDialog(this);
mAuth = FirebaseAuth.getInstance();
if (mAuth.getCurrentUser() != null) {
String uid = mAuth.getCurrentUser().getUid();
fDatabase = FirebaseDatabase.getInstance().getReference().child("Users");
fDatabase.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
if(uid.equals(dataSnapshot.child("key"))
{
// Open Student Activity
}
else
{
// Open Lecturers Activity
}
}
I am unaware of your database collections. So take them appropriately.
Solution 2:
If you use the FirebaseAuth
+ FirebaseDatabase
you can do it picking the type of the user. So in your model add the String type
attribute. When the user login is not null check:
if(user.getType().equals("student1")){
startActivity(intentStudent1);
} else if(user.getType().equals("student2")){
startActivity(intentStudent2);
}
And the fathers tree of your database will be the email of the student, I use it in my app mayking it in Base64 code/uncode
so the email elaine@gmail.com
will be ZWxhaW5lQGdtYWlsLmNvbQ==
.
I use it to get the status...
Post a Comment for "How To Log In Two Different Types Of Users To Different Activities Automatically Without Having To Log In Again?"