2016-10-18 7 views
13

私はKotlinで、このデータクラス(例)があります。Firebase @Exclude

import com.google.firebase.database.Exclude 

data class User(val name: String = "", @Exclude val age: Int = 0) 

をそして私はfirebaseに年齢プロパティを保存する必要はありません。 @Excludeはこれを行う必要がありますが動作しません。年齢はまだ保存されています。

回避策はありますか?

+0

私が読んだものは同じであるべきですが、「除外」の前に「フィールド」を付けると違いがありますか? (データ名:String = ""、@field:値の年齢:Int = 0) ' – mfulton26

+1

いいえ、違いはありませんが、@get:除外します(あなたに感謝します)。あなたが回答として投稿したいなら、私はそれを受け入れます。 –

+2

ああ、それはあなたがあまりにも言及した今、意味があります。チームの努力! – mfulton26

答えて

24

プロパティに@Excludeを配置すると、生成されたget accesorメソッドではなく、生成されたフィールドがターゲットになります。後者を行うには、 "Exclude"の前に "get:"を付ける必要があります。例:

data class User(val name: String = "", @get:Exclude val age: Int = 0) 

詳細については、Annotation Use-site Targetsを参照してください。

関連する問題