【问题标题】:Parse.com can't retrieve objectsParse.com 无法检索对象
【发布时间】:2015-01-03 13:58:08
【问题描述】:

我正在尝试使用 parse 检索对象,但出现错误

gameScore 无法解析。

我正在关注https://parse.com/docs/android_guide#objects-classes上的确切解释

我做错了什么?

public class ParseStarterProjectActivity extends Activity {
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ParseAnalytics.trackAppOpenedInBackground(getIntent());

    ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
    query.getInBackground("gDlXAym3S7", new GetCallback<ParseObject>() {
        public void done(ParseObject object, ParseException e) {
            if (e == null) {
                System.out.println("object found");
                int score = gameScore.getInt("score");
                String playerName = gameScore.getString("playerName");
                boolean cheatMode = gameScore.getBoolean("cheatMode");
            } else {
                System.out.println("object not found");
            }
        }
    });
  }
}   

【问题讨论】:

    标签: object parse-platform


    【解决方案1】:

    我正在查看您的代码,但您没有声明任何名为“gameScore”的类。我想你想要的是下一个代码:

    public class ParseStarterProjectActivity extends Activity {
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        ParseAnalytics.trackAppOpenedInBackground(getIntent());
    
        ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
        query.getInBackground("gDlXAym3S7", new GetCallback<ParseObject>() {
            public void done(ParseObject object, ParseException e) {
                if (e == null) {
                    System.out.println("object found");
                    int score = object.getInt("score");
                    String playerName = object.getString("playerName");
                    boolean cheatMode = object.getBoolean("cheatMode");
                } else {
                    System.out.println("object not found");
                }
            }
        });
      }
    }  
    

    因此,请注意查询完成后得到的 ParseObject:它被声明为“对象”,您将需要它来获取其中存储的所有信息。

    希望对你有帮助,问候!!

    【讨论】:

      【解决方案2】:

      除了 Fer 回答您应该检查对象 id 是否在:query.getInBackground("gDlXAym3S"... 中正确,并检查此对象是否在 Parse 仪表板中具有公共读取访问权限(列:ACL)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-22
        • 2021-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多