Как получить ключ и значение из firebase и сохранить их в двух отдельных переменных - PullRequest
0 голосов
/ 05 ноября 2019

Я создаю действие входа в систему, оно состоит из двух имени пользователя и пароля для редактирования текста. И я хочу проверить имя пользователя и пароль для входа в систему из базы данных Firebase в режиме реального времени. Я сохранил это внутри имени объекта 'user', как это

{
  "users" : {
    "admin" : "a",
    "table1" : "t1",
    "table2" : "t2",
    "table3" : "t3",
    "table4" : "t4",
    "table5" : "t5",
    "table6" : "t6",
    "table7" : "t7",
    "table8" : "t8",
    "table9" : "t9",
    "table10" : "t10",
    }
}

этот код kotlin

    private lateinit var database:FirebaseDatabase
    private lateinit var reference: DatabaseReference

    // initlize 
    database = FirebaseDatabase.getInstance()
    reference = database.getReference()

    inner class ReadData : ValueEventListener {
        override fun onCancelled(p0: DatabaseError) {
            Toast.makeText(applicationContext , p0.message.toString() ,Toast.LENGTH_LONG).show()
        }

        override fun onDataChange(p0: DataSnapshot) {

            for(data in p0.children){

               Log.i("LIST IN FIREBASE",data.toString())

            }
        }
    }
}

fun login(view: View) {
    var readData = ReadData()
    reference.addValueEventListener(readData)
}

Я могу получить доступ к ключу ('admin', 'table1', ... и т. Д.), Но не могу получить доступ к значению ('a', 't1',... и т. д.) как сделать проверку входа в систему, как эта структура?

Не волнует синтаксис kotlin или java, пишите синтаксический код, как вам нравится

1 Ответ

0 голосов
/ 05 ноября 2019

Сначала перейдите в дочерний режим users, а затем добавьте прослушиватель событий.

reference.child("users").addValueEventListener(readData)

А затем попробуйте проанализировать key и value внутри onDataChange

for(data in p0.children) { 

    val key = data.key
    val value = data.getValue(String::class.java)

    Log.i("LIST IN FIREBASE",data.toString())
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...