問題タブ [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.
android - AndroidでParcelを使用するには?
を使用Parcelして書き込み、次に読み戻そうとしていParcelableます。何らかの理由で、ファイルからオブジェクトを読み戻すと、null.
私は何が欠けていますか?
更新: テストを簡素化するために、元の例でファイルの読み取りと書き込みを削除しました。
java - Android で Parcelable の配列を Parcel に書き込む
writeParcelableArrayを使用 して、Parcelableを実装するオブジェクトの配列をParcelに書き込もうとしています。
私が書き込もうとしているオブジェクトは、(ご想像のとおり) 次のように定義されています。
そして、私はそれらを「パーセル」に書き込もうとしています:
Eclipse がこれをコンパイルしようとすると、エラーが発生します。
境界の不一致: タイプ Parcel のジェネリック メソッド writeParcelableArray(T[], int) は、引数 (Arrival[], int) には適用できません。推論されたタイプ Arrival は、境界付きパラメーターの有効な代替ではありません < T extends Parcelable >
このエラー メッセージがまったくわかりません。Parcelableはインターフェイス (クラスではない) であるため、拡張できません。誰にもアイデアはありますか?
更新:ArrayList ofParcelableをIntent:に入れるときに、基本的に同じ問題が発生しています。
収量:
Intent 型の putParcelableArrayListExtra(String, ArrayList< ? extends Parcelable >) メソッドは、引数 (String, ArrayList< Location >) には適用されません。
これLocationは、私が上で取り組んでいたクラス ( Arrivals をラップする) が原因である可能性がありますが、そうではないと思います。
android - androidパーセラブル文字列配列
私は持っています
それをParceleableにするための最もクリーンな方法は何でしょうか?どうやら文字列自体はパーセル化できないので、機能してParcel.writeList(ids)いません。
ArrayList<Uri> 配列の内容を分割するか、に入れるかを考えていましたBundle。
android - どこで/いつ describeContents() が使用されますか?
Parcelableのこのメソッドがいつどこで呼び出されるか知っている人はいますか?
オーバーライドする必要があります。しかし、それを使って何か役に立つことを考えるべきでしょうか?
android - Android - リストを同梱する場合パーセリングまたはシリアライズを使用しますか?
List<MyClass>メイン アクティビティからセカンダリ アクティビティに適切に渡すにはどうすればよいですか?
私が理解していることから、データをバンドルするには2つの方法があります:ParcelingとSerializing. それぞれの長所と短所は何ですか?
ありがとう
android - ライブラリ クラスでの Parcelable の使用
アクティビティ間でオブジェクトを送信したい。これを読んで、パフォーマンスへの影響が最小限であるため、Parcelable を使用するのが最善の方法であるという結論に達しました。これを行う理由は、オブジェクトを作成するためにネットワークからデータをダウンロードする必要があるためです。そのため、データをダウンロードし続けたくありません。
ただし、Parcel を使用するには、クラスで Parcelable を実装する必要があります。ライブラリで定義されたオブジェクトを送信しようとしているので、クラスを編集してこれを含めることはできません。
私の苦境を解決する最善の方法は何でしょうか?
ライブラリ クラスを拡張して Parcelable を実装しようとしましたが、ClassCastException で失敗しました。また、ライブラリ クラスをラップする Parcelable クラスを作成し、そのように送信する必要があるという言及も見ました。
ありがとう!
android - readBundleからのAndroidの「不正なマジックナンバー」エラー
私はバンドルを使用してアプリケーションに情報を渡し、場合によっては最初に区画に渡すことでファイルに保存していました。
何らかの理由で、それらをバンドルに戻そうとすると、次のコードによって生成される「readBundle:badmagicnumber」エラーが発生することがあります。
java - パーセルの問題 // ArrayList
現在、あるアクティビティから別のアクティビティにオブジェクトの ArrayList を渡そうとしています。よく調べた結果、小包として物を渡すことができることがわかりました。これが私がやったことです:
そして、ここにオブジェクトの部分があります:
もちろん、ゲッター/セッターもあります。
これは、リストが作成される場所です。
今、ここにそれが受け取られます:
パーセルを使用せず、配列のみを使用すると、正常に動作します。テストリストをコメントアウトしたところ、問題なく動作しましたが、それ以外の場合はクラッシュしました。
パーセルの実装に何か問題がありましたか? 私はこれを理解することはできません。誰かが私をできるだけ早く助けてくれたら、それは素晴らしいことです.
android - パーセラブルをアンマーシャリングするときのClassNotFoundException
インテント全体で区画を解析する際に問題が発生しました。
を使用して区画を作成します
onActivityResultで受け取ります:
次に、以下を使用して別のアクティビティに渡します。
私の区画には別の区画があり、その中にuisngを書き込んだり読み取ったりします。
ClassLoader.getSystemLoader()からMyClass.class.getClassLoader()まで、さまざまなクラスローダーを使用しようとしましたが、それでもランタイム例外が発生します。
私の小包はこれより前のどこかで破損していますか、それとも間違って読んでいますか?
アレックス