2015-02-08 61 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