新しいAndroid開発者として、1つのアクティビティからフラグメントまたはフラグメントへのデータをアクティビティに渡すのはあまりにも多くのコードを記述するようです。不思議なことに、ライブラリをデータを渡す目的の代わりに使うことができますか?それはアンドロイドアプリの1つの唯一のデータ受け渡しメカニズムとして使用できますか?正方形の柄を意図の代わりに使用できますか?
2
A
答えて
2
私はそれが可能かもしれないと思いますが、私が維持しなければならないコードではありません。
メッセージバスの使用は、メッセージの送信者と受信者が存在し、同時にアクティブであることを前提としています。アクティビティからインテントを経由して別のアクティビティに移行する場合は、通常、宛先アクティビティは存在しません。存在する場合はアクティブな状態ではありません。したがって、このモードでは、Intentをバスメッセージに置き換えることはできません。
Ottoはこれを行うために使用できる「プロデューサ」をサポートしていますが、やはり私は実際に提案しません。
アクティビティ間で大量のデータを渡す必要がある場合は、おそらく設計上の問題があります。これは一般に、適切な別個のデータモデルを持つ代わりに、アクティビティにすべてを埋め込んだことを示しています。
2
ottoライブラリは、データを渡す目的の代わりに使用できますか?
はい、データを渡す手段としてotto(または他のイベントバス)を使用できます。
これは、アンドロイドアプリの唯一のデータ受け渡しメカニズムとして使用できますか?
はいまたはいいえにすることができます。あなたの必要性にかかっています。アクティビティとフラグメントで作業する場合は、インテントとバンドルを使用します。しかし、アクティビティとフラグメントの間にcommunicate
を追加する場合は、ottoを使用できます。
関連する問題
- 1. pseqの代わりにseqを使用できますか?
- 2. WPFブラウザアプリケーションをASP.NETの代わりに使用できますか?
- 3. IDプライマリキーの代わりにプライマリキーを使用できますか?
- 4. eglPresentationTimeANDROID():android.openglの代わりにmicroedition.khronosを使用できますか?
- 5. コレクションビューの代わりにボタンを使用できますか?
- 6. Solrをキャッシュの代わりに使用できますか?
- 7. WebSocketの代わりにWebRTCを使用できますか?
- 8. Rails.envの代わりに使用できますか?
- 9. sun.jdbc.odbc.JdbcOdbcDriverの代わりに使用できますか?
- 10. Android GraphView - 凡例:正方形の代わりに線
- 11. Corelocationを使用してジオフェンシングのための円形の代わりに正方形の領域を作成できますか?
- 12. 直線の代わりに、長方形
- 13. 代わりにstruts.xmlに任意のstrutsプロパティを指定できますか?
- 14. モバイルテスト用にappiumの代わりにセレンを使用できますか?
- 15. NSWindow setFrame:.. animated:YES]関数をアニメーション化する代わりに、代わりにアニメーションを使用できますか?
- 16. jQuery UI datepicker(HTML形式):monthNamesShortの代わりにmonthNamesを使用する方法
- 17. 「pathExtension」使用できません:使用pathExtension URLに代わり
- 18. PDOの代わりにDoctrine 2を使用するのはどの条件で意味がありますか?
- 19. TextBoxのデフォルトの枠線の代わりにカスタムシェイプを使用できますか?
- 20. システムのDateTime形式の代わりにDataGridViewColumnでサーバーのDateTime形式を使用する方法
- 21. http://またはhttps://の代わりに//を使用できますか?
- 22. <iframe>は、静的ページ/ウェブの代わりに "PHPインクルード"の代わりに使用できます
- 23. MappingJackson2HttpMessageConverter()の代わりに何のメッセージコンバータを使用できますか
- 24. WebformsのIEの代わりにFirefoxを使用できますか?
- 25. Webページの代わりにSolrの索引文を使用できますか?
- 26. データテーブルの処理の代わりにペースを使用できますか?
- 27. JavaのFutureTaskをAsyncTaskの代わりに使用できますか?
- 28. JavaでHashMapの代わりにJSONObjectを使用できますか?
- 29. マルチプラットフォームアプリでGoogle IABの代わりにStripeを使用できますか?
- 30. CF10でURLリライトの代わりにRESTを使用できますか?
ちょうど不思議なことに、あなたはLinus Torvaldsとの関係を持っていますか? –
あなたの有益な答えをありがとう。あなたの答えから、私はオットーでこのようなことをすることは可能だろうと思っていますが、これを維持するのは難しいコードを書く必要があります。実際に私はアンドロイドでこれらのデータを渡したりバンドルしたりするためのパタンを見つけられませんでした。アクティビティと同様にアクティビティも片方向ですが、デバイスローテーションのためには、savedInstanceStateを管理しなければなりません。これらのすべてのデータがマタニズムを通過するまで私たちを導くためのリソースはありますか? @GreyBeardedGeek – rat
私はあなたが見つけやすい唯一の確かなリソースは、インテントを通してデータを渡す方法に関する公式のAndroidのドキュメントだと思います。 私は正常にOttoをアクティビティに使用しました<->フラグメント通信(フラグメントライフサイクルにも役立ちます)、およびコミュニケーションのすべての関係者がバスに登録されている(入力の準備ができています)登録されていない。 これがうまく動作しない1つの場所は、アクティビティ<->アクティビティです(アクティビティは1回だけアクティブになるため(バスに登録する必要があります)。 – GreyBeardedGeek