android - Firebase Orderby 查询不起作用

标签 android firebase firebase-realtime-database

我想在w上使用orderby score Json。

我的杰森

{  "score": {
"Abc": {
  "value": 5,
  "w": 60
},
"RRRR": {
  "value": 3,
  "w": 20
},
"Ral": {
  "value": 4,
  "w": 50
}  }}

我的 Android 代码用于获取分数数据。

  myRef.child("score").orderByChild("w").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            //  String value = dataSnapshot.getValue(String.class);
            Log.d(TAG, "Value is: " + dataSnapshot.toString());
        }

        @Override
        public void onCancelled(DatabaseError error) {
            // Failed to read value
            Log.w(TAG, "Failed to read value.", error.toException());
        }
    });

把 o/p 当作(错误的)

DataSnapshot { key = score, value = {Ral={w=50, value=4}, RRRR={w=20, value=3}, Abc={w=60, value=5}} }

我想在 score 上使用 order on w 并期望 out

{  "score": {
"RRRR": {
  "value": 3,
  "w": 20
},
"Ral": {
  "value": 4,
  "w": 50
},
"Abc": {
  "value": 5,
  "w": 60
}  }}

最佳答案

尝试像下面这样迭代结果(假设你有 Score java 对象对应于分数数据)

for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
    Score score = childSnapshot.getValue(Score.class);
} 

关于android - Firebase Orderby 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41659156/

相关文章:

ios - 在 swift 3 中单击按钮从 Firebase 中删除 "posts"

javascript - 如何使用 angularfire2 在电子邮件和密码注册后将数据添加到我的 firebase

android - 如何在 Android 中保持粘性 gridview

java - Android YoutubePlayer API 崩溃

android - 在 firebase 数据库中,我可以存储项目符号、其他符号吗?如果是,如何?

swift - OSX 框架中的 Firebase SDK (v2.5.0)

android - 如何在 Firebase 中检查写入任务是否成功

android - 自定义格式编辑文本输入android接受信用卡号

android - Ormlite、listViews 和适配器?

javascript - 将视频上传到 Firebase 存储时,iOS 上的 Expo 应用程序崩溃。适用于 Android,不适用于 iOS