0

別の開発者から継承したAndroidプロジェクトがあります。

元のコードは、単一のビューと単一のアクティビティを使用して一緒にハッキングされました。ビュークラスには、入力およびレンダリング中にオンに切り替えられる状態変数があります。

各「画面」は、画面に直接レンダリングされる単一のビットマップです。レイアウトは一切使用していません。さらに悪いことに、ViewクラスとActivityクラスの両方の各変数は、すべてpublic staticとして宣言され、相互に頻繁にアクセスしていました。

コードを作り直したので、ある程度管理しやすくなりましたが、元の2つのクラスのままです。これは私の最初のまともなサイズのAndroidアプリなので、次にどこに行くべきか完全にはわかりません。

見た目からすると、各「画面」には独自のビューとアクティビティが必要です。これは一般的な方法ですか?

もしそうなら、私は別々のアクティビティ間でデータを共有するための何らかの方法が必要です。汎用データを保持するシングルトンクラスを使用するための提案を読みました。Androidフレームワークにさらに組み込まれている他の方法はありますか?

前もって感謝します。

4

1 に答える 1

2

画面ごと、または機能ごとに1つのアクティビティを使用することをお勧めします。アクティビティには通常、UIを描画するビューが1つ関連付けられています。すべてのアクティビティが異なるビットマップを表示するだけの場合は、レイアウトでImageViewを定義し、そのImageViewでさまざまなビットマップを表示できます。

パブリック静的フィールドを使用することは、Androidアクティビティでは悪い習慣です。アクティビティは、他のアクティビティのフィールドにまったくアクセスしないでください。インテント、データベース、または共有@Injectedクラスを介して相互にデータを渡す必要があります。

あなたが書いたものから、現在のアプリを修正しようとするよりも、そのアプリを最初からやり直す方が簡単かもしれません。私はそこに行って、それを行いました。その後、アプリを廃棄せず、ゼロから始めたことを後悔しています。

于 2012-06-08T04:38:14.117 に答える