Avi*_*bat 2 android parse-platform
我显然遗漏了一些东西.我开始阅读Parse.com指南,看到了这个:
ParseObject gameScore = new ParseObject("GameScore");
gameScore.put("score", 1337);
gameScore.put("playerName", "Sean Plott");
gameScore.put("cheatMode", false);
gameScore.saveInBackground();
Run Code Online (Sandbox Code Playgroud)
这创建了这个对象:
objectId: "xWMyZ4YEGZ", score: 1337, playerName: "Sean Plott", cheatMode: false,
createdAt:"2011-06-10T18:33:42Z", updatedAt:"2011-06-10T18:33:42Z"
Run Code Online (Sandbox Code Playgroud)
然后它说 -
如果你有objectId,你可以使用ParseQuery检索整个ParseObject
所以我有两个问题 -
1.如何在解析服务器端创建objectId?
2.如果我没有创建objectId,那么如果它丢失了我就不能重新创建它(例如用户清除应用程序的数据).所以远程服务器没有真正的意义..我在这里缺少什么?
该方法的重载是saveInBackground一个SaveCallback对象.在savecallback的done方法中,你应该能够getObjectId()原始的ParseObject,并从服务器给你生成的objectId.
看看这个:
final ParseObject gameScore = new ParseObject("GameScore");
gameScore.put("score", 1337);
gameScore.put("playerName", "Sean Plott");
gameScore.put("cheatMode", false);
gameScore.saveInBackground(new SaveCallback() {
public void done(ParseException e) {
if (e == null) {
// if null, it means the save has succeeded
String id = gameScore.getObjectId(); // Here you go
} else {
// the save call was not successful.
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在提出第二个问题.
看起来你正试图挽救一些球员的进步.如果您向游戏得分对象添加指针列,则可以轻松检索该游戏得分数据,因为即使重新登录后您的用户身份也不会发生变化.
编辑:示例查询
final ParseQuery query = new ParseQuery("GameScore");
query.whereEqualTo("user", ParseUser.getCurrentUser());
query.findInBackground(new FindCallback() {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
953 次 |
| 最近记录: |