Esta pregunta ya ha sido respondida perfectamente por otras personas, si quieres hacerlo por tu cuenta.
Si prefiere encapsular u ocultar la mayor parte del código de parcelación de bajo nivel, puede considerar usar parte del código que escribí hace algún tiempo para simplificar el manejo de las parcelables.
Escribir en un paquete es tan fácil como:
parcelValues(dest, name, maxSpeed, weight, wheels, color, isDriving);
donde color es una enumeración e isDriving es un booleano, por ejemplo.
Leer desde un paquete tampoco es mucho más difícil:
color = (CarColor)unparcelValue(CarColor.class.getClassLoader());
isDriving = (Boolean)unparcelValue();
Solo eche un vistazo al "ParceldroidExample" que agregué al proyecto.
Finalmente, también mantiene el inicializador CREATOR corto:
public static final Parcelable.Creator<Car> CREATOR =
Parceldroid.getCreatorForClass(Car.class);