Мой локальный сервер Parse не работает

Я пытаюсь использовать Parse на ПК с Windows и Android Studio.

Я следовал некоторым учебникам, чтобы установить MongoDB, сервер Parse и панель мониторинга Parse, и все прошло гладко.

Когда я открываю Android Studio, сервер Parse инициализируется, но он не сохраняет данные, и я не понимаю, что пошло не так

Вот мой манифест код:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.parse.starter" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:name=".StarterApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.parse.APPLICATION_ID"
            android:value="kooora.com100plus" />
        <meta-data
            android:name="com.parse.CLIENT_KEY"
            android:value="kooora.com100plusMasterKey" />

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Я изменил ключ и идентификатор клиента на те же, что и при настройке сервера Parse

А вот код для запуска приложения Activity:

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("kooora.com100plus")
            .clientKey("kooora.com100plusMasterKey")
            .server("http://localhost:1337/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", e.getMessage());
        }
          }
        });

    ParseUser.enableAutomaticUser();
    ParseACL defaultACL = new ParseACL();
    // Optionally enable public read access.
    // defaultACL.setPublicReadAccess(true);
    ParseACL.setDefaultACL(defaultACL, true);
  }
}

После того, как я запустил код, я получил Parse: сбой!
Я не знаю что не так с моим кодом

1 ответ

Решение

.server("http://localhost:1337/parse/")

Когда вы запускаете код в своем приложении, localhost означает "это устройство" АКА ваше устройство Android, а не сервер.

Вам необходимо использовать IP-адрес сервера (который будет зависеть от того, используете ли вы эмулятор или физическое устройство).

Другие вопросы по тегам