How to redirect a user to a specific activity in Cloud Firestore?

前端 未结 2 1653

While Registering an account using Firebase auth I stored emails in 2 categories Teacher and Student. I add emails to Firestore 2 different categories Teacher and Student wi

2条回答
  •  清酒与你
    2020-12-19 11:53

    package com.example.myapplicationomostff
    
    import android.content.Intent
    import android.os.Bundle
    import android.util.Log
    import android.widget.Toast
    import androidx.annotation.NonNull
    import androidx.appcompat.app.AppCompatActivity
    import com.google.android.gms.tasks.OnCompleteListener
    import com.google.android.gms.tasks.Task
    import com.google.firebase.auth.FirebaseAuth
    import com.google.firebase.firestore.DocumentSnapshot
    import com.google.firebase.firestore.FirebaseFirestore
    import com.google.firebase.firestore.QueryDocumentSnapshot
    import com.google.firebase.firestore.QuerySnapshot
    import kotlinx.android.synthetic.main.activity_main.*
    import kotlinx.android.synthetic.main.activity_registy.*
    
    
    class MainActivity : AppCompatActivity() {
    
        var myauth =FirebaseAuth.getInstance()
        var rootRef = FirebaseFirestore.getInstance()
        var usersRef = rootRef.collection("users")
    
    
    
    
    
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            btnlogin.setOnClickListener {
                var email =txtemaillogin.text.toString().trim()
                var password =txtpasslogin.text.toString().trim()
                userlogin(email,password)
    
    
                }
    
    
    
            btnregistry.setOnClickListener{
    
    
                var intent = Intent(this, chose::class.java)
                startActivity(intent)
    
            }
    
    
    
    
            }
    
        private fun userlogin(email: String, password: String) {
            var query = usersRef.whereEqualTo("email",email)
            query.get().addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    for (document in task.getResult()!!) {
                        var email1 = document.getString("email").toString()
                        var password1 = document.getString("password").toString()
                        if(password1 == password
                            && email1 == email
                        ){
                            myauth.signInWithEmailAndPassword(email1, password1).addOnCompleteListener{
                                if(it.isSuccessful){
    
                                    val uid = FirebaseAuth.getInstance().currentUser?.uid
                                    if (uid != null) {
                                        usersRef.document(uid).get().addOnCompleteListener { task ->
                                            if (task.isSuccessful) {
                                                val document = task.result
                                                if (document != null) {
                                                    if (document.exists()) {
                                                        val type = document.getString("type")
                                                        if (type == "doc") {
                                                            startActivity(Intent(this@MainActivity,docpage::class.java))
                                                        } else if (type == "eng") {
                                                            startActivity(Intent(this@MainActivity, engpage::class.java))
                                                        }else  if (type=="mos"){
                                                            startActivity(Intent(this@MainActivity, chosepage::class.java))
    
    
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
    
    
    
                                    Toast.makeText(this,"ok",Toast.LENGTH_LONG).show()
                                }else{
                                    Toast.makeText(this,"erorr",Toast.LENGTH_LONG).show()
    
                                }
                            }
                        }else{
                            Toast.makeText(this,"مش مسجل ف الموقع ",Toast.LENGTH_LONG).show()
    
    
    }
    

提交回复
热议问题