問題タブ [parcel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
86707 参照

android - AndroidでParcelを使用するには?

を使用Parcelして書き込み、次に読み戻そうとしていParcelableます。何らかの理由で、ファイルからオブジェクトを読み戻すと、null.

私は何が欠けていますか?

更新: テストを簡素化するために、元の例でファイルの読み取りと書き込みを削除しました。

0 投票する
3 に答える
16004 参照

java - Android で Parcelable の配列を Parcel に書き込む

writeParcelableArrayを使用 して、Parcelableを実装するオブジェクトの配列をParcelに書き込もうとしています。

私が書き込もうとしているオブジェクトは、(ご想像のとおり) 次のように定義されています。

そして、私はそれらを「パーセル」に書き込もうとしています:

Eclipse がこれをコンパイルしようとすると、エラーが発生します。

境界の不一致: タイプ Parcel のジェネリック メソッド writeParcelableArray(T[], int) は、引数 (Arrival[], int) には適用できません。推論されたタイプ Arrival は、境界付きパラメーターの有効な代替ではありません < T extends Parcelable >

このエラー メッセージがまったくわかりません。Parcelableはインターフェイス (クラスではない) であるため、拡張できません。誰にもアイデアはありますか?

更新:ArrayList ofParcelableIntent:に入れるときに、基本的に同じ問題が発生しています。

収量:

Intent 型の putParcelableArrayListExtra(String, ArrayList< ? extends Parcelable >) メソッドは、引数 (String, ArrayList< Location >) には適用されません。

これLocationは、私が上で取り組んでいたクラス ( Arrivals をラップする) が原因である可能性がありますが、そうではないと思います。

0 投票する
2 に答える
14766 参照

android - androidパーセラブル文字列配列

私は持っています

それをParceleableにするための最もクリーンな方法は何でしょうか?どうやら文字列自体はパーセル化できないので、機能してParcel.writeList(ids)いません。

ArrayList<Uri> 配列の内容を分割するか、に入れるかを考えていましたBundle

0 投票する
3 に答える
22207 参照

android - どこで/いつ describeContents() が使用されますか?

Parcelableのこのメソッドがいつどこで呼び出されるか知っている人はいますか?

オーバーライドする必要があります。しかし、それを使って何か役に立つことを考えるべきでしょうか?

0 投票する
3 に答える
1588 参照

android - Android - リストを同梱する場合パーセリングまたはシリアライズを使用しますか?

List<MyClass>メイン アクティビティからセカンダリ アクティビティに適切に渡すにはどうすればよいですか?

私が理解していることから、データをバンドルするには2つの方法があります:ParcelingSerializing. それぞれの長所と短所は何ですか?

ありがとう

0 投票する
2 に答える
1121 参照

android - ライブラリ クラスでの Parcelable の使用

アクティビティ間でオブジェクトを送信したい。これを読んで、パフォーマンスへの影響が最小限であるため、Parcelable を使用するのが最善の方法であるという結論に達しました。これを行う理由は、オブジェクトを作成するためにネットワークからデータをダウンロードする必要があるためです。そのため、データをダウンロードし続けたくありません。

ただし、Parcel を使用するには、クラスで Parcelable を実装する必要があります。ライブラリで定義されたオブジェクトを送信しようとしているので、クラスを編集してこれを含めることはできません。

私の苦境を解決する最善の方法は何でしょうか?

ライブラリ クラスを拡張して Parcelable を実装しようとしましたが、ClassCastException で失敗しました。また、ライブラリ クラスをラップする Parcelable クラスを作成し、そのように送信する必要があるという言及も見ました。

ありがとう!

0 投票する
0 に答える
2275 参照

android - readBundleからのAndroidの「不正なマジックナンバー」エラー

私はバンドルを使用してアプリケーションに情報を渡し、場合によっては最初に区画に渡すことでファイルに保存していました。

何らかの理由で、それらをバンドルに戻そうとすると、次のコードによって生成される「readBundle:badmagicnumber」エラーが発生することがあります。

0 投票する
1 に答える
1744 参照

java - パーセルの問題 // ArrayList

現在、あるアクティビティから別のアクティビティにオブジェクトの ArrayList を渡そうとしています。よく調べた結果、小包として物​​を渡すことができることがわかりました。これが私がやったことです:

そして、ここにオブジェクトの部分があります:

もちろん、ゲッター/セッターもあります。

これは、リストが作成される場所です。

今、ここにそれが受け取られます:

パーセルを使用せず、配列のみを使用すると、正常に動作します。テストリストをコメントアウトしたところ、問題なく動作しましたが、それ以外の場合はクラッシュしました。

パーセルの実装に何か問題がありましたか? 私はこれを理解することはできません。誰かが私をできるだけ早く助けてくれたら、それは素晴らしいことです.

0 投票する
3 に答える
4630 参照

android - パーセラブルをアンマーシャリングするときのClassNotFoundException

インテント全体で区画を解析する際に問題が発生しました。

を使用して区画を作成します

onActivityResultで受け取ります:

次に、以下を使用して別のアクティビティに渡します。

私の区画には別の区画があり、その中にuisngを書き込んだり読み取ったりします。

ClassLoader.getSystemLoader()からMyClass.class.getClassLoader()まで、さまざまなクラスローダーを使用しようとしましたが、それでもランタイム例外が発生します。

私の小包はこれより前のどこかで破損していますか、それとも間違って読んでいますか?

アレックス