2015-02-08 53 views
0

对于一个新项目,我正在运行一些测试。现在我有一个函数,我试图将对象保存到parse.com框架,并且一切都很顺利,直到我添加了一个用户指针对象。当我使用当前用户的objectId作为它的值时,指针行似乎阻止了我的代码。然而,使用用户的电子邮件地址随机词是行不通的。我在下面添加了我的代码。无法设置用户objectId解析指针字段

// Create a data object and store it online. 
    public void createDataObject(){ 
     ParseObject object = new ParseObject("TestData"); 
     object.put("action", "trial"); 
     object.put("value", "succes?"); 
     object.put("name", ParseUser.getCurrentUser().getUsername()); 
     String pointer = ParseUser.getCurrentUser().getObjectId(); 
     Log.i(TAG, pointer); 
     object.put("pointer", ParseObject.createWithoutData("_User", pointer)); 
     object.saveEventually(); 
    } 

我希望任何人都可以帮我弄明白,非常感谢帮助!

更新:问题不在于我的指针命令,但它是我使用saveEventually()的事实;如果我使用saveInBackground它只是工作,但我想使用saveEventually因为可能丢失的网络连接。有没有人有线索可能是什么问题?

更新2:最后决定删除应用程序和Parse数据浏览器的installationId。重新安装应用程序后,一切都开始像它应该的工作。我可能有一段糟糕的代码与我的安装ID卡住了。我希望有同样问题的其他人快速到达这个帖子,并且不要花费数天时间寻找答案!

更新3:有一种功能试图根据指向应用程序用户的对象ID来查找用户,从而导致应用程序崩溃一次而完全无法使用。我将第一个答案标记为正确的答案,因为它解决了我的原始问题,但仅仅是fyi ..比我预期的还要多。

回答

1

就试试这个:

public void createDataObject(){ 
     ParseObject object = new ParseObject("TestData"); 
     object.put("action", "trial"); 
     object.put("value", "succes?"); 
     object.put("name", ParseUser.getCurrentUser().getUsername()); 
     object.put("pointer", ParseUser.getCurrentUser()); 
     object.saveEventually(); 
    } 

无需获取对象ID设置当前用户。

编辑: 您也可以参考https://stackoverflow.com/a/28403968/2571060设置指针

+0

我试着按照你建议的方式来回答问题之前,我今天再试一次,但只要我给它一次,我的内存峰值和应用程序崩溃。我不明白为什么发生这种情况,但它给了我一个stackoverflow和很多com.parse。*。isdirty错误..然而,什么是奇怪的。如果我在Log.i条目中使用ParseUser.getCurrentUser(),它会将用户的对象ID写入日志。我检查了这是对应于我的用户的正确objectId。 – Dannyvdz 2015-02-09 10:46:01

+0

这可能是因为很多原因。你能提供这些错误日志吗? – 2015-02-09 12:12:08

+0

我上传到一个主机,这里是缩短的网址:http://bit.ly/1DTC​​bwj – Dannyvdz 2015-02-09 12:15:18

0

我跟iOS SDK类似的问题。你使用'自动创建用户'吗?导致在这种情况下,ParseUser.getCurrentUser()返回objectId为null的User对象。根据文档,直到用户或任何与它相关的对象被保存,它才为空。但根据我的经验,事实并非如此,我必须先保存用户,否则会出现“用户只能在注册期间创建”或类似的错误。

+0

感谢您的回复,但我没有使用自动创建用户。我写了一个自定义注册和登录脚本来处理用户。 – Dannyvdz 2015-02-09 11:24:25