2016-07-15 3 views
2

У меня есть следующий код:Сохранение списка перечислений в firebase

public class TestClass { 
    public ArrayList<ObjectTypes> list = new ArrayList<>(); 
    public TestClass(){ 
     list.add(ObjectTypes.type1); 
    } 
} 

public enum ObjectTypes { 
    type1, 
    type2, 
    type3, 
    type4, 
} 

fb.child("Test").setValue(new TestClass()); 

где фб является DatabaseReference.

При выполнении коды происходит сбой приложения и появляется следующее сообщение об ошибке:

com.google.firebase.database.DatabaseException: Нет свойство сериализации найденного по классу ObjectTypes

Это проблема не появилась в старой Firebase.

+1

Firebase 2.x зависит от Джексона за его сериализацию JSON. Мы нацелены на то, чтобы основной основной вариант использования был поддержан (с гораздо меньшим размером в вашем размере APK). Если вы обнаружите необходимость в прецеденте, который не поддерживается (пока), вы все равно можете использовать Джексон. См. Http://stackoverflow.com/questions/37547399/how-to-deserialise-a-subclass-in-firebase-using-getvaluesubclass-class/37548330#37548330 –

ответ

0

Проблема в настоящее время решается путем перечисления элементов перечислений (Enumerating перечисление ...)

В приведенном выше примере:

public enum ObjectTypes { 
    type1(0), 
    type2(1), 
    type3(2), 
    type4(3), 
} 

Надеюсь гальваническим легче менее котла способом будет добавлен в будущее?

Смежные вопросы