Чтение из базы данных Firebase не работает, но нет сообщения об ошибке (Kotlin) - PullRequest
0 голосов
/ 16 мая 2018

Я установил базовый код FirebaseDatabase, и приложение работает нормально без каких-либо сообщений об ошибках, но в соответствии с console.log компилятор не переходит к фактическому Firebase коду в качестве console log TAGне может быть найдено в logcat.Не уверен, как решить эту проблему, так как нет сообщения об ошибке.Это основной код:

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
//import com.google.firebase.FirebaseError
import com.google.firebase.database.*
//import com.google.firebase.auth.FirebaseAuth

class RecipeGridView : AppCompatActivity() {

   private var db: DatabaseReference? = null
   private var fbdb: FirebaseDatabase? = null
   private var ref: DatabaseReference? = null

   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_recipe_grid_view)
       Log.d("TAG", "ON CREATE");

       fbdb = FirebaseDatabase.getInstance()
       ref = fbdb!!.getReference("cookies")

       ref!!.addChildEventListener(object: ChildEventListener {
           override fun onChildChanged(snapshot: DataSnapshot?, p1: String?) {
            var myDataSnapshot = snapshot!!.getValue()

            Log.d("TAG", "THIS DOESN'T SHOW IN LOGCAT!!!");

            /*for later...
            val children = snapshot!!.children

            print(snapshot.children.count().toString())
            print(p1)

            children.forEach{
                print(it.toString())
            }
    */
        }

        override fun onChildMoved(p0: DataSnapshot?, p1: String?) {}

        override fun onChildRemoved(p0: DataSnapshot?) {}

        override fun onCancelled(error: DatabaseError) {
            print(error)
            Log.d("TAG", "ON ERROR");

        }

        override fun onChildAdded(p0: DataSnapshot?, p1: String?) {}

        }) //END FB CODE
}
}

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

Зависимости:

implementation 'com.google.firebase:firebase-database:10.0.1'
implementation 'com.google.firebase:firebase-core:10.0.1'

Также в Gradle включен код maven:

maven {
        url "https://maven.google.com" // Google's Maven repository
    }

Мысли о том, как поступить, приветствуются.Как я уже сказал, если это необходимо, я выложу журнал:)

1 Ответ

0 голосов
/ 16 мая 2018

ОК, понял.Код должен быть в onChildAdded() вместо функции onChildChange().Вот и все!Получил данные сейчас:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...