Android studio 从Firebase数据库读取数据不需要';无法工作,但没有错误消息(Kotlin)
我已经设置了基本的Android studio 从Firebase数据库读取数据不需要';无法工作,但没有错误消息(Kotlin),android-studio,firebase-realtime-database,kotlin,Android Studio,Firebase Realtime Database,Kotlin,我已经设置了基本的Firebase数据库代码,应用程序运行正常,没有任何错误消息,但是根据console.log编译器没有进入实际的Firebase代码,因为控制台日志标记在logcat中找不到。由于没有错误消息,因此不确定如何排除故障。这是基本代码: import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.util.Log //import com.google.fireba
Firebase数据库
代码,应用程序运行正常,没有任何错误消息,但是根据console.log
编译器没有进入实际的Firebase
代码,因为控制台日志
标记在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
}
对如何继续进行的想法表示赞赏。就像我说的,如果需要,我会发布日志:)好的,现在就拿到了。代码应该位于
onChildAdded()
函数中,而不是onChildChange()
函数中。就这样!现在获得数据:)尝试使用Log.e,仍然没有,只有ONCREATE日志显示…请检查Firebase数据库规则。您是否有读/写Firebase数据库的权限?是的,有权限。我已成功地将同一数据库与Xcode一起使用。