Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.content.Intent
- import android.os.Bundle
- import android.widget.Toast
- import androidx.appcompat.app.AppCompatActivity
- import androidx.recyclerview.widget.LinearLayoutManager
- import com.example.wotcher.databinding.ActivityMainBinding
- import com.google.firebase.auth.FirebaseAuth
- import com.google.firebase.database.*
- class MainActivity : AppCompatActivity() {
- lateinit var mainBinding: ActivityMainBinding
- val database : FirebaseDatabase = FirebaseDatabase.getInstance()
- val databaseRefrence : DatabaseReference = database.reference.child("Users")
- var userList = ArrayList<Users>()
- lateinit var userAdapter: UsersAdapter
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- mainBinding = ActivityMainBinding.inflate(layoutInflater)
- var view = mainBinding.root
- retriveDataFromDatabase()
- userList = retriveDataFromDatabase()
- userAdapter = UsersAdapter(this@MainActivity, userList)
- mainBinding.listOfUsers.layoutManager = LinearLayoutManager(this@MainActivity)
- mainBinding.listOfUsers.adapter = userAdapter
- println("Out fun: $userList")
- setContentView(view)
- mainBinding.logoutUser.setOnClickListener {
- logoutUserFirebase()
- }
- }
- fun retriveDataFromDatabase() : ArrayList<Users> {
- databaseRefrence.addValueEventListener(object : ValueEventListener{
- override fun onDataChange(snapshot: DataSnapshot) {
- userList.clear()
- for (eachUser in snapshot.children) {
- val user = eachUser.getValue(Users::class.java)
- if (user != null) {
- println("user name: ${user.name}")
- println("user email: ${user.email}")
- println("user Id: ${user.userId}")
- println("***************************")
- userList.add(user)
- }
- }
- println("In fun: $userList")
- }
- override fun onCancelled(error: DatabaseError) {
- TODO("Not yet implemented")
- }
- })
- return userList
- }
- fun logoutUserFirebase() {
- FirebaseAuth.getInstance().signOut()
- Toast.makeText(applicationContext, "Logout is successful", Toast.LENGTH_SHORT).show()
- val intent = Intent(this, LoginActivity::class.java)
- startActivity(intent)
- finish()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment