writeToParcel: dest.writeByte((byte)(myBoolean ?1:0));//if myBoolean == true, byte == 1 readFromParcel: myBoolean =in.readByte()!=0;//myBoolean == true if byte != 0 I think != 0 should be better, because 0 is a little bit faster to load, and in most weakly-typed languages all non-zero numbers are true