На этот вопрос уже отлично ответили другие люди, если вы хотите сделать это самостоятельно.
Если вы предпочитаете инкапсулировать или скрывать большую часть кода низкоуровневого парсинга, вы можете рассмотреть возможность использования некоторого кода, который я написал некоторое время назад, для упрощения обработки посылок.
Написать посылку так же просто, как:
parcelValues(dest, name, maxSpeed, weight, wheels, color, isDriving);
где color - это enum, а isDriving - логическое значение, например.
Чтение с посылки тоже не намного сложнее:
color = (CarColor)unparcelValue(CarColor.class.getClassLoader());
isDriving = (Boolean)unparcelValue();
Просто взгляните на «ParceldroidExample», который я добавил в проект.
Наконец, он также сокращает инициализатор CREATOR:
public static final Parcelable.Creator<Car> CREATOR =
Parceldroid.getCreatorForClass(Car.class);