Сервер разбора выдает "Не удалось создать экземпляр подкласса". если хранилище данных включено

Я пытаюсь создать экземпляр подкласса на Parse Server и выполнить несколько query.find(), все работало нормально, пока я не включил "Локальное хранилище данных".

После того, как я добавлю .enableLocalDataStore() в Parse.initialize(), query.find() выдает следующее исключение:

"java.lang.RuntimeException: не удалось создать экземпляр подкласса."

Похоже, что .enableLocalDataStore() блокирует регистр подклассов. Это очень странно, поскольку одно не имеет ничего общего с другим.

public class App extends Application
{

    @Override
    public void onCreate() {
        super.onCreate();

        ParseObject.registerSubclass(Place.class); // registering the subclass
        Parse.initialize(new Parse.Configuration.Builder(this)
                        .applicationId("...")
                        .server("...")
                        .enableLocalDataStore() // if I remove this line, it works!
                        .build()
        );
    }
}

Если я удаляю строку ".enableLocalDataStore()", она работает нормально. Может быть, это какая-то несовместимость?

Это происходит и с другими людьми. См. Страницу GitHub для этой проблемы: https://github.com/ParsePlatform/Parse-SDK-Android/issues/379

Пока нет хороших awnsers

1 ответ

Я ответил на странице GitHub, но я также отвечу здесь:

Если у вас есть

public String getObjectId() {
    return getString(objectId);
}

в вашем подклассе, просто удалите его. Это бесполезно и ломает все.

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