[英]Why do I get a “Save Failed” when saving data (Parse Starter) from Android Studio to heroku?
我已經下載了Parse Starter Project ,並將Parse Starter Project從此處直接部署到Heroku(我使用了“ Deploy to Heroku”按鈕)。
在Heroku內部,一切都很好。 我進行了測試,沒有任何問題(我什至看到“我夢想成為一個網站”)。
當我在Android Studio中啟動應用程序並使用手機(三星Galaxy S6)或模擬器時,我總是會收到消息“保存失敗”。
我在StarterApplication.java
使用以下代碼:
package com.parse.starter;
import android.app.Application;
import android.util.Log;
import com.parse.Parse;
import com.parse.ParseACL;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseUser;
import com.parse.SaveCallback;
public class StarterApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
// Add your initialization code here
Parse.initialize(new Parse.Configuration.Builder(getApplicationContext())
.applicationId("applicationId")
.clientKey("clientKey")
.server("https://nameofapp.herokuapp.com/parse/")
.build()
);
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) {
Log.i("Parse", "Save Succeeded");
} else {
Log.i("Parse", "Save Failed");
}
}
});
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
// Optionally enable public read access.
// defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
}
為什么我不能將數據保存到heroku-我的錯誤在哪里?
所有密鑰都通過“復制和粘貼”被放入代碼中,並且僅在此問題中不可讀!
期待您的回答和幫助!
更新:heroku CLI日志:2016-12-10T15:13:07.221288 + 00:00 app [web.1]:未捕獲的內部服務器錯誤。 {錯誤:連接ECONNREFUSED 127.0.0.1:27017 2016-12-10T15:13:07.221299 + 00:00應用程序[web.1]:在export._exceptionWithHostPort(util.js:1049:20)2016-12-10T15:13 :07.221299 + 00:00 app [web.1]:at Object.exports._errnoException(util.js:1026:11)2016-12-10T15:13:07.221302 + 00:00 app [web.1]:at TCPConnectWrap .afterConnect [作為oncomplete](net.js:1085:14)2016-12-10T15:13:07.221303 + 00:00 app [web.1]:名稱:'MongoError',2016-12-10T15:13:07.221304 +00:00 app [web.1]:消息:'connect ECONNREFUSED 127.0.0.1:27017'}錯誤:connect ECONNREFUSED 127.0.0.1:27017 2016-12-10T15:13:07.221305 + 00:00 app [web.1 ]:在Object.exports._errnoException(util.js:1026:11)2016-12-10T15:13:07.221305 + 00:00 app [web.1]:在export._exceptionWithHostPort(util.js:1049:20) 2016-12-10T15:13:07.221306 + 00:00 app [web.1]:位於TCPConnectWrap.afterConnect [作為未完成](net.js:1085:14)2016-12-10T15:13:07.230326 + 00:00 heroku [router]:at = info method = POST path =“ / parse / classes / GameScore” host = XXXXXXXXXXXX.herokuapp.com request_id = ca250458-621a-4749-bae9-6882208ae7ba fwd =“ 62.226.173.93” dyno = web.1 connect = 0ms service = 3ms status = 500 bytes = 531
27017
是Mongo的默認端口,您是否將Mongo插件添加到了heroku應用程序?
我有這個問題。 如果確定您的應用程序ID,主密鑰和服務器正確,則可能是您遇到了同樣的問題,並且您的應用程序未正確鏈接到數據庫。
遵循這些步驟
YourUserName@EmailAddress.com
登錄”, config:set DATABASE_URI=*link
到在heroku設置下的配置vars上標記為MONGODB_URI
MongoDB的config:set DATABASE_URI=*link
*,然后是-a NameOfAppToAssociateWithDatabaseHere
,然后按Enter。 再次運行您的項目,這一次您的日志應該顯示Save Succeeded。 然后,您可以在heroku中打開應用程序的資源,在資源中打開數據庫,然后在collections下查看其中包含的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.