Существует константа, определенная в Parcelable
, которая называется CONTENTS_FILE_DESCRIPTOR
, которая предназначена для использования в describeContents()
для создания возвращаемого значения битовой маски.
Описание для CONTENTS_FILE_DESCRIPTOR
в API ref - это:
Битовые маски для использования сcribContents (): каждый бит представляет собой вид объекта, который может иметь особое значение при маршалинге.
Что на самом делеозначает: если вам нужно поместить объект FileDescriptor
в Parcelable, вы должны / должны указать CONTENTS_FILE_DESCRIPTOR
как возвращаемое значение descriptionContents (), то есть " специальный объект " (в описании describeContents()
)они действительно означают: FileDescriptor
.
Вся эта Parcelable функциональность выглядит незавершенной (читай: имеет плохой дизайн).В документах есть еще одна странная вещь:
Классы, реализующие интерфейс Parcelable, также должны иметь статическое поле CREATOR, которое является объектом, реализующим интерфейс Parcelable.Creator
Реализация множественного наследования по правилам, определенным в удобочитаемой форме?: -)
Кажется, что программист на C ++ спроектировал Parceable
и в какой-то момент понял: о, черт, в Java нет множественного наследования ...: -)