This question has already been answered perfectly by other people, if you want to do it on your own.
If you prefer to encapsulate or hide away most of the low-level parceling code, you might consider using some of the code I wrote some time ago for simplifying handling of parcelables.
Writing to a parcel is as easy as:
parcelValues(dest, name, maxSpeed, weight, wheels, color, isDriving);
where color is an enum and isDriving is a boolean, for example.
Reading from a parcel is also not much harder:
color = (CarColor)unparcelValue(CarColor.class.getClassLoader());
isDriving = (Boolean)unparcelValue();
Just take a look at the "ParceldroidExample" I added to the project.
Finally, it also keeps the CREATOR initializer short:
public static final Parcelable.Creator<Car> CREATOR =
Parceldroid.getCreatorForClass(Car.class);