【发布时间】:2019-01-29 10:59:07
【问题描述】:
我正在尝试从没有标签/名称的 firebase 中检索子节点。我知道这不是在 firebase 中存储子节点的正确方法,它只是我可以存储它们以使计数函数工作的唯一方法。
我正在尝试检索“技术”或“生物学和生态学”等类别。我的数据库设置如下:
CountLikes{
Project 23{
Biological and Ecological{
Votes: 1
}}
Project 32{
Biological and Ecological{
Votes: 0
}}
Project 439{
Technology{
Votes: 2
}}
我可以使用以下方法检索项目名称(即“Project 23”、“Project 32”)和投票数:
//Button Click Listener
mReadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("CountLikes/");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.getKey();
Long vote = ds.child("Votes").getValue(Long.class);
mProjectName.setText(name);
mProjectCategory.setText(String.valueOf(vote));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(eventListener);
无论如何我可以检索类别吗?
【问题讨论】:
-
如果
vote显示正确的结果,那么name应该是高于它的级别(Biological and Ecological或Technology)。如果不是这样,您能否显示数据库中的实际 JSON(作为文本,请不要截图)?您可以通过单击Firebase Database console 上溢出菜单 (⠇) 中的“导出 JSON”链接来获取此信息。 -
对不起,你是对的!我想我需要帮助检索的是“Project 23”、“Project 32”而不是名称!
标签: java android firebase firebase-realtime-database