2016-06-23 38 views
7

Bir android uygulaması ve Realm üzerinde çalışıyorum ve nesnelerimden biri için bir enum özniteliği oluşturmam gerekiyor; ama bu post'da Realm'in henüz enum'u desteklemediğini keşfettim.Enums Realm ile destekliyor mu?

Benim nesne şu şekildedir:

public class ShuttleOption extends RealmObject { 
    private int Id; 
    private String Label; 
    private ShuttleTypes OriginShuttleType; 
} 

ve benim enum sınıfı (ShuttleTypes) karşılık gelir:

HOME = 1; 

ve

WORK = 2; 

herkes bunun nasıl yapılacağını bana önerebilir ?

cevap

19

Sen sayısında açıklanan desen kullanabilirsiniz: https://github.com/realm/realm-java/issues/776#issuecomment-190147079

Temelde

Realm bir dize olarak kaydedin ve onu ve çıkan dönüştürmek:

public enum MyEnum { 
    FOO, BAR; 
} 

public class Foo extends RealmObject { 
    private String enumDescription; 

    public void saveEnum(MyEnum val) { 
    this.enumDescription = val.toString(); 
    } 

    public MyEnum getEnum() { 
    return MyEnum.valueOf(enumDescription); 
    } 
}