首页 > 解决方案 > 从 Firebase 获取数据并将数据用于 Android 应用的允许用户

问题描述

我是 Kotlin 的 Firebase Android 新手。我在我的 Android 应用程序中制作了一个注册表单并将其发送到 Firebase 实时数据库。将我的数据发送到 Firebase 后,我得到了这样的结果。我只需添加访问权限并将其填写到“允许”,所以注册后的用户不能直接登录我的应用程序...

在此处输入图像描述

这是我的登录屏幕代码..我想要的是当用户单击“登录”按钮时..如果允许,该代码将获取“访问”的数据,而不是用户可以登录..如果没有则有通知联系管理员..请帮助我...我已经尝试了很多次...提前谢谢

代码:`package com.example.myapplication

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import androidx.annotation.NonNull
import com.firebase.client.DataSnapshot
import com.firebase.client.Firebase
import com.firebase.client.FirebaseError
import com.firebase.client.ValueEventListener
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.activity_register_form.*

class MainActivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)


        login.setOnClickListener {

            val email = log_email.text.toString()
            val password = log_password.text.toString()
            Log.d("MainActivity", "Email is" + email)
            Log.d("MainActivity", "Password:$password")

            FirebaseAuth.getInstance().signInWithEmailAndPassword(email, password)
                .addOnCompleteListener {
                    if (it.isSuccessful) {
                        val intent = Intent(this, MainMenuActivity::class.java)
                        startActivity(intent) }
                    else { Toast.makeText(this, "Login Failed, please check your account and password", Toast.LENGTH_SHORT).show()}
                }
        }

        register.setOnClickListener {
            val intent = Intent(this, register_form::class.java)
            startActivity(intent)
        }
    }
}

`

标签: androidfirebasekotlin

解决方案


设置数据库的 Firebase 规则规则:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

推荐阅读