Я только что обновил с Parse 1.8.x до Parse 1.9.0 для Android. Я отслеживал некоторые изменения, которые они внесли, и обновил свой проект соответственно, но я получаю странную ошибку в нескольких местах, и я не уверен, что это лучший способ «исправить».Parse.com для Android: реализация GetCallback метода «done»
В нескольких местах я использую getInBackground
для запроса объекта, где я знаю его objectId
. Он работает нормально до этого обновления.
Теперь, я получаю сообщение об ошибке, которая говорит:
Error:(113, 80) error: is not abstract and does not override abstract method done(Object,Throwable) in ParseCallback2.
Итак, я попробовал писать базовый запрос и вызов getInBackground
, и это то, что он дает мне с помощью автозаполнения:
ParseQuery query = ParseUser.getQuery();
query.getInBackground("xxxx", new GetCallback() {
@Override
public void done(ParseObject parseObject, ParseException e) {
}
@Override
public void done(Object o, Throwable throwable) {
}
});
Я привык видеть первый метод, но второй отключает меня. Я заметил, что Анализировать изменилось что-то, начиная с 1.8.3, отметив:
Fixed: Callbacks are no longer abstract classes, but interfaces.
Итак, я пошел к декларации за GetCallback
(который является источником окурок генерируется из файла класса), который показывает, что это:
public interface GetCallback <T extends com.parse.ParseObject> extends com.parse.ParseCallback2<T,com.parse.ParseException> {
void done(T t, com.parse.ParseException e);
}
Не очень удивительно, так что я пошел в ParseCallback2
декларации (также источник окурок генерируется из файла класса), который показывает это:
interface ParseCallback2 <T1, T2 extends java.lang.Throwable> {
void done(T1 t1, T2 t2);
}
Исходя из этого, я думаю, я могу понять, почему компилятор жалуется, но я не уверен, что здесь правильное решение.
Я также получил некоторые сообщения в моем Gradle Построить вывод, что сказать:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Я не уверен, если это связано с этим вопросом или нет, и я не знаю, как выяснить, являются ли они Связанный.
В принципе, я думаю, что одна из двух вещей пошла не так. Либо: 1. У меня есть некоторые настройки в моем приложении, которые необходимо обновить, чтобы повторно включить старые функции, -OR-- 2. У парсера есть проблема с их новейшим API Android.
Это не кажется разумным решением, которое Анализировать фактически будет требовать, чтобы я переопределить 2 различныхdone
методов в GetCallback
. Кто-нибудь видел эту проблему и как ее преодолеть?
'Оба метода имеют один и тот же стирание, но ни отменяет other' –