java - 解析Android获取用户列表

标签 java android parse-platform

我的应用程序中有这个功能可以制作排行榜。执行时,它永远不会到达 for 循环,我无法更新我的排行榜。是否有更好的实现方式?

public void updateLeaderboard(final Context context) {
        Log.d("Leaderboard ", "Updating");
        ParseQuery<ParseObject> query = ParseQuery.getQuery(KEY_USER_CLASS);
        query.addDescendingOrder(KEY_LAST_LEVEL);
        query.addAscendingOrder(KEY_CROSSED_AT);
        query.whereNotEqualTo(KEY_ADMIN, true);
        query.whereEqualTo(KEY_EMAIL_VERFIFIED, true);
        query.findInBackground(new FindCallback<ParseObject>() {

            @Override
            public void done(List<ParseObject> users, ParseException e) {
                Log.d("Leaderboard ", "done() caled");
                if (e == null) {
                    Log.d("Leaderboard ", "inside if");

                    for (int i = 0; i < users.size(); i++) {
                        ParseObject user = users.get(i);
                        Log.d("Leaderboard ",
                                "Updating user " + String.valueOf(i + 1));
                        user.put(KEY_RANK, i + 1);
                        user.saveInBackground(new SaveCallback() {

                            @Override
                            public void done(ParseException e) {
                                if (e == null) {
                                    Log.d("Leader", "Saved");
                                } else {
                                    Toast.makeText(context, e.getMessage(),
                                            Toast.LENGTH_SHORT).show();
                                }

                            }
                        });
                    }

                } else {
                    Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT)
                            .show();
                }
            }
        });

        Log.d("Leaderboard ", "Closing");
    }

最佳答案

最常见的原因是没有意识到“User”、“Role”和“Installation”类是特殊的,它们的实际名称是“_User”、“_Role”和“_Installation”,尽管对用户进行查询类推荐的方法是:

ParseQuery<ParseUser> query = ParseUser.getQuery();

关于java - 解析Android获取用户列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24820406/

相关文章:

parse-platform - 如何提取最新的云代码?

java - 在Java中,字符的int值应该称为它的ASCII值还是Unicode值

不同API级别的Java序列化和反序列化

android - Adview错误,片刻后崩溃

Android - 增加警报对话框中按钮的大小

ios - 在 Swift 2 中使用 Parse 获取 Twitter 个人资料图片

ios - 解析接收邮件FB SDK

Java - while循环检查状态并退出

Java 8 流 - 将元素映射到元素对

Android Studio XML 布局设计预览不可用