2016-01-14 23 views
2

所以我試圖在我的類中實現一個Realm List,但是,我可以在Realm.io找到的文檔沒有說明它是否需要getter/setter以及它是否應該看起來像。所以這是我的代碼:如何在我的自定義對象中正確實現領域列表?

public class Novel extends RealmObject { 

    @PrimaryKey 
    private static int id; 

    @Required 
    private static String name; 

    //Establish relationship with Novel (single) and Chapter (many) 
    private RealmList<Chapter> chapters; 

    public static int getId() { 
     return id; 
    }//end getId 

    public static void setId(int id) { 
     Novel.id = id; 
    }//end setId 

    public static String getName() { 
    return name; 
    }//end getName 

    public static void setName(String name) { 
    Novel.name = name; 
    }//end setName 

}//end Novel.class 

爲了在Realm數據庫中存儲一個對象,所有的變量都必須有getters/setters。但是,由於我使用的是RealmList,我如何正確構建我的getter/setter?

下面是Android Studio給我的代碼,但它看起來不正確。

public RealmList<Chapter> getChapters() { 
    return chapters; 
} 

public void setChapters(RealmList<Chapter> chapters) { 
    this.chapters = chapters; 
} 

吸氣看起來不錯,但是,二傳手使得它將如何與RealmList正常工作沒有意義的我。

tldr:爲了在我的自定義對象中正確實現RealmList,我的getter/setter應該是什麼?

回答

0

RealmList實現了所有有用的接口:

java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E> 

如果你想新Chapter添加到類似Novel使用代碼:

Chapter chapter = realm.copyToRealm(new Chapter()); 
novel.getChapters().add(chapter); 

如果要更換新的所有章節:

RealmList<Chapter> chapters = new RealmList<Chapter>(); 
chapters.add(new Chapter()); 
chapters.add(new Chapter()); 
chapters.add(new Chapter()); 
chapters.add(new Chapter()); 

chapters = realm.copyToRealm(chapters); 
novel.setChapters(chapters); 
+0

我明白這個東西,但是這樣做我不回答我的問題。我不確定我的getter/setter對於我的Custom Object文件中的RealmList(本例中爲Novel.java)必須是什麼。 –

+0

在你的問題中,你的制定者/獲得者可以。 RealObject(和RealmList)只是代理對象。這意味着您只能使用它來訪問/修改字段,並且應該以這種方式聲明它們。 –

+0

好的,這是我需要驗證。感謝您的幫助! –

相關問題