Сервер разбора выдает "Не удалось создать экземпляр подкласса". если хранилище данных включено
Я пытаюсь создать экземпляр подкласса на 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);
}
в вашем подклассе, просто удалите его. Это бесполезно и ломает все.