android-studio - 从 Firebase 数据库读取不起作用,但没有错误消息 (Kotlin)
问题描述
我已经设置了基本FirebaseDatabase
代码,应用程序运行良好,没有任何错误消息,但根据console.log
编译器没有进入实际Firebase
代码,因为console log
在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'
此外,maven 代码包含在 gradle 中:
maven {
url "https://maven.google.com" // Google's Maven repository
}
对如何进行的想法表示赞赏。就像我说的,如果需要,我会发布日志:)
解决方案
好的,现在明白了。代码应该在onChildAdded()
而不是onChildChange()
函数中。就是这样!现在得到数据:)
推荐阅读
- python - Pymongo:以日期为字符串的聚合日期范围查询
- ffmpeg - 在 MP4 上覆盖透明 webm 有时会在开始时冻结
- html - HTML Firefox - “列表框”中选中/焦点选项的虚线轮廓/边框
- reactjs - 单元测试的可视化
- java - 为什么我的 JDK 8 ('1.8.*') 要求检查失败!检测到的版本:11.0.9.1 错误?
- c# - 如何在 ASP .NET Core 中实现基于 slug 的路由?
- javascript - 如何将图像放入展示盒
- javascript - 当行多于一时启用删除按钮
- python - 尝试使用随机梯度下降实现逻辑回归但出现 KEYError
- python - 如果 pandas df 列具有特定值,则另一列仅允许值列表