今回はParcelableインタフェースを用いて、インスタンスの状態を保存する方法を説明します。状態の保存と言うとシリアライズを思い浮かべる方もいると思いますがシリアライズは永続化を目的としていますが、Parcelableはプロセス間通信のときなど、一時的に状態を保存したいときに利用します。シリアライズの方法に関しては以下の記事を参考にしてください。データを簡単に保存する方法(シリアライズ編)それでは続きでParcelableインタフェースを用いて、インスタンスの状態を保存する方法を説明します。大まかな流れParcelableインターフェースを実装したクラスの作成の大まかな流れは以下の通りです。(implements)して利用します。flags)の2つです。describeContentsメソッドは通常0を返すように実装します。FileDescriptorを配置する場合はParcelableインタフェースの定数であるCONTENTS_FILE_DESCRIPTORを返すようにします。writeToParcelメソッドでメンバを保存します。}Parcelableインタフェース実装したクラスの作成(復元部分)Parcelableインタフェースを実装したクラスは、Parcelable.Creatorインタフェースを実装するオブジェクトであるCREATORという名前のStatic(静的)フィールドを持つ必要があります。これは下記のサンプルを見てもらうのが一番だと思います。SampleParcelable[size];}};ここでParcelを引数とするコンストラクタを呼び出していることが分かります。SampleParcelable(in);つまりParcelを引数とするコンストラクタを実装することも必要で、そのコンストラクタの中で復元を行います。注意点はwriteToParcelで保存した順番で読み出す必要があることです。実際にParcelableを使う場面としては冒頭で書いたプロセス間通信以外にActivityのライフサイクルの中でも使うことがあります。プリミティブ型ではなく、オブジェクトを保存したい時に利用出来ます。2.0(β)に対応した解説書です。