問題タブ [parcelable]

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 投票する
3 に答える
12840 参照

android - Intent.putExtra と Parcel を使用して、あるアクティビティから別のアクティビティにオブジェクトを送信するにはどうすればよいですか?

スタックオーバーフローの質問を使用して、インテントを使用してあるAndroidアクティビティから別のAndroidアクティビティにオブジェクトを送信する方法は? 、以下のようにサンプルアプリを作りました。

ファイルScrollview1.java

ファイル名.java

ファイル結果.java

しかし、null を取得するのは Result クラスです。なにが問題ですか?

0 投票する
7 に答える
67843 参照

android - JSONObjectを別のアクティビティに渡す

JSONデータ(新しいDVDタイトル)を返す外部APIを使用しています。JSONを解析して、各DVDタイトルとその他のDVD情報をListViewにリストすることができます。また、プリミティブデータ(タイトル文字列)に対してonListItemClickメソッドを適切に設定することもできました。私はonListItemClickメソッドに対してそのようなものを書くことになりました:

ちなみに、productArrayは、JSONObjectsの配列を保持する別のメソッドによって設定されているクラス変数です。

上記のコードはすべて機能しますが、データを別のアクティビティに渡すためのより良い方法がGOTTAにあると思います。各データポイントを個別に設定する代わりに、DVDムービーのすべてのデータを含むJSONObjectを渡すことができると考えていました。

Parcelableの使い方を理解するために1週間半試しました。運が悪かったParcelableを実装する新しいJSONObjectjsonObjをインスタンス化してみました。LogCatで、オブジェクトがパーセルできないというエラーが発生し続けました。

Android開発者サイトや他のブログを読んでみましたが、それらの例を必要なものに適用できませんでした。

どんな助けでも大歓迎です

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

android - onSaveInstanceState() で非 Parcelable オブジェクトの Hashtable を保存するとうまくいくことがあるのはなぜですか?

Android プログラミングの入門書を読んだ後、実際にはカバーされていないいくつかのトピックの理解を深めるために、サンプル アプリケーションを変更したいと考えました。変更を行う際にエラーが発生しましたが、エラーが機能する場合と機能しない場合がある理由が知りたいです。

アプリケーション内のアクティビティは、一連の質問を に格納しますHashtable<Integer, Question>。ここで、Question は、int と 2 つの String を保持する小さなクラスです。最初に書かれたように、アクティビティはすべてのサーバーから質問をダウンロードするため、重複したダウンロードを防ぐため onCreate()に実装したいと考えました。を使用してハッシュテーブルをバンドルに保存します。onSaveInstanceState()onSaveInstanceState()putSerializable()

Parcelable とは何か、またはその実装方法を知る前でさえ、画面の向きの変更に対して完全に機能しました。エミュレーターのホーム キーを押したときに問題が発生したことだけがわかりました。アプリは静かにクラッシュし、LogCat の出力はありませんでした。スタック トレースにより、Parcelable を検索し、Question に実装させました。

私の質問は、私が間違ったことではありません。問題は次のとおりです。Question クラスが Parcelable を実装していない場合、アプリがホームを押したときにのみクラッシュし、画面の向きが変わったときではないのはなぜですか?

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

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

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

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

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

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

ありがとう!

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

android - アクティビティ間でデータにアクセスするための効率的な方法

私はメッセージを記録し、それらを実装するオブジェクトに保存する小さなアプリを持っていますParcelable. アプリにはたくさんのメッセージ(約2000)があり、アクティビティ間を通過するのにかなりの時間がかかりますintent.putParcelableArrayListExtra

これは、Intents + Parcelableの正しい使用法ではありませんか?私は本当にSQLiteを避けたいと思っていましたが、どうしても必要な場合は手を汚すと思います。

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

java - ifStatement の結果に基づいてリストを作成する必要がある

質問があります。ifStatement の結果に基づいてリストが生成される状況があります。私のifStatementは、チェックボックスがチェックされているかどうかに基づいています。そうである場合、ユーザーが結果を表示できる新しいアクティビティに送られるまで、変数(たとえば、時間)をどこかに保存したいと思います。

つまり、ユーザーはチェックボックスをオンにするかどうかのどちらかになります。もしそうなら、私はこれが起こる各インスタンスを追跡したいと思います. ユーザーがメインの ifStatement を満たすと (たとえば、朝食が終了するとします)、ユーザーは「addBacon」などの横にあるチェックボックスをチェックした人数を確認できます...

これが理にかなっていることを願っています。明確にするために、そうでないものを教えてください。

ありがとうございました。

コードの例を次に示します。

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

android - ドローアブルから別のアプリ/サービスに画像を送信する

さまざまなサービスからメッセージを受信し、動的に通知を作成する中央アプリケーションがあります (通知内のサービスから最大 3 つまたは 4 つの情報)。パーソナライズされた通知の一部には、サービスから送信された画像 (SD や電話のメモリではなく、サービス パッケージに含まれる画像) が含まれます。

Parcelable またはいくつかのコンテナーを使用して画像を入れ、インテントを使用して転送することを考えましたが、続行する方法がわかりません (画像バイトを取得してそれらをパーセル化する)...画像は「軽い」、約5Kb。

アドバイスはありますか?

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

java - Arraylist は最後の値のみを取得します

こんにちは、Parcelable を使用して、あるアクティビティから別のアクティビティに arraylist を渡しています。

問題は、BILLをクリックすると、すべての行にarraylistの最後の値が入力されることです..だから、呼び出し元のアクティビティでarraylist全体を取得できないと思います...

ここに関連するコードがあります..

SpinPizza.java

Bill.java

}

助けてください。

0 投票する
9 に答える
38161 参照

android - オブジェクトをシリアル化する代わりにParcelableを使用する利点

私が理解しているように、Androidがシリアル化を実行する方法BundleParcelable属しています。これは、たとえば、アクティビティ間でデータを渡す際に使用されます。Parcelableしかし、たとえば、ビジネスオブジェクトの状態を内部メモリに保存する場合に、従来のシリアル化の代わりに使用することに利点があるのではないかと思います。従来の方法よりも簡単ですか、それとも高速ですか?従来のシリアル化をどこで使用する必要があり、バンドルをどこで使用する方がよいですか?

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

java - Android:getParcelableはnullを返しますか?

私の最後の質問の続きとして:アクティビティ間でArraylistを渡す?パーセラブルの使用

現在、Parcelableを介してArrayListを渡そうとしています。ただし、他のアクティビティから取得した場合はnullを返します。理由がわからないようです。私は次のものを持っています...

ResultsList.java

SearchList.java

listOfResultsとして宣言されResultsList listOfResults = new ResultsList();、コードの前半で入力されます。その後、..で送信されます。

受信中...

バンドルに入るArraylistのsize()をチェックしてから出てくることで、このnullをテストしていることを指摘したいと思います。それはうまくいき、ヌルになります。