【发布时间】:2020-03-29 16:47:27
【问题描述】:
这是我的第一个问题:)
这是我的 Firebase:
{
"Users": {
{
"G2u5-1yQI-GaKN" : {
"login" : "Tom",
"name" : "Tom",
"password" : "1234"
},
"JMtk-T2AZ-LJY8" : {
"login" : "Ann",
"name" : "Ann",
"password" : "abcd"
}
}
}
}
我想获取 JMtk-T2AZ-LJY8 用户 (Ann) 的 name 键的值并将其设置为我的应用小部件中 TextView 的文本。
我的代码是:
final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.my_widget);
final DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users").child("JMtk-T2AZ-LJY8");
views.setTextViewText(R.id.textView2, String.valueOf(reference.child("name").getValue()));
这里不能使用getValue()方法,不知道为什么?
当我在 MainActivity 的 onCreate 方法中使用类似的代码时,它可以正常工作(它返回“Ann:),但在应用小部件中却没有。解决方案是什么?
【问题讨论】:
-
您实际上并没有查询数据库 - 您所做的只是建立一个参考。我建议查看文档:firebase.google.com/docs/database/android/read-and-write
-
尝试先将firebase中的值打印到logcat,然后再添加到TextView
标签: android firebase firebase-realtime-database android-remoteview