1

クラスは相互に直接通信しているため、インテント呼び出しを介してエクストラを渡すことはカプセル化の違反であるように思われます。そうは言っても、私が見つけたこれに対する唯一の実行可能な代替案は、いくつかの共有クラスに変数を設定し、各アクティビティにそこからデータをプルさせることです-しかし、私の一部は、これは素晴らしいことではないと感じずにはいられませんデザインの選択。誰かがこれに光を当てることができますか?

4

2 に答える 2

0

そうではありません、あなたはそれを必要とすることになります。通常、アクティビティ間で最小限の情報を渡し、起動されたアクティビティのonCreate()でビッグデータをチェックアウトします。

于 2012-12-02T17:52:58.367 に答える
0

オブジェクト指向パラダイムのクジラの1つであるカプセル化は、コンポーネントが内部でどのように構築され、どのような複雑な側面が保持されているかを知る必要から、この情報を実行することで、将来クラスを使用するプログラマーを解放することを前提としています。快適で明確なプログラミングインターフェイス(最良の場合)。

Intentモデルは、オペレーティングシステムの主要コンポーネント、特にs間の相互作用を想定するように開発されました。また、実行したい種類、意図、およびいくつActivityかの具体的な情報をインテントに添付する必要があることを前提としています。そのセットはあなたの意図を実装する必要があります。したがって、これはそのような種類の相互作用において便利なモデルです。ACTIONCATEGORYDATA

同時に、そのための準備が整ったソリューションがあるときにアクティビティ間で共有クラスを使用することは、かなり無関係なアプローチです、IMO。

于 2012-12-02T18:11:33.097 に答える