parcelable を使用する場合と使用しない場合を知りたい。私は、パーセルブルがアンドロイドのパーセル複合データ型の方法であることを知っていますが、公式文書http://developer.android.com/guide/faq/framework.html#3に従って、そのようなものは何も言及されていません。では、Parcelable が本当に必要になるのはいつですか??
2 に答える
インターフェイスを実装するParcelable
ことで、クラス オブジェクトを に格納できるようにBundle
なり、 を使用して別のアクティビティに簡単に渡すことができますIntent
。
例えば
Intent i = new Intent(....);
i.putParcelableExtra("name", object);
次に、他のアクティビティで、次のように取得します。
YourClass object = (YourClass) getIntent().getExtras().getParcelableExtra("name");
型キャストに注意してください。これは、クラスのメソッドを使用するために必要です。
別のアクティビティにデータを渡すには、通常、呼び出されるアクティビティ インテントにバンドル オブジェクトを配置します。バンドルには、long、integer、boolean などのプリミティブ データ型を入力できます。テキストを表す String クラスのような単純なデータ型で埋めることができます。たとえば、あるアクティビティが別のアクティビティを呼び出し、同時に単純なデータを送信するとします。
宛先アクティビティでは、バンドルを確認します。存在する場合は、元のアクティビティからバンドルのデータを開きます。では、定義済みのクラス オブジェクトのような複雑なデータ型を別のアクティビティに渡したい場合はどうすればよいでしょうか。この必要性のために、Android で Parcelable を使用できます。
Parcelable はクラスのインターフェースであるため、Parcelable を実装するクラスは、Parcel に対して書き込みおよび読み取りを行うことができます。パーセル形式のデータは、2 つのスレッド間で受け渡すことができます。パーセル自体は、クラスのオブジェクトをシリアライズおよびデシリアライズする機能を持つクラスです。