アクティビティが1つしかない小さなアプリを作成しました。私の理解では、アクティビティは1つのクラスの一種のビューおよびコントローラーと見なす必要があります。
しかし、3つのダイアログ(AlertDialogBuilderとそれに付属するすべての匿名内部クラスで作成)を備えた小さなアプリでも、私のアクティビティには500以上のLOCがあり、維持するのが非常に困難になりました。アクティビティには主にAndroidライフサイクルハンドラーとビュー処理が含まれます。ビジネスロジックはごくわずかです。
アクティビティクラスを処理して、読み取りと保守を維持するにはどうすればよいですか?
Android向けに開発するときは、アクティビティをコントローラー、レイアウト(XML)をビューと常に考えています。レイアウトは、アクティビティ(コントローラー)を介して相互作用し、ビジネスロジックと相互作用します。これが私がたくさん学んだいくつかの間違いです:
覚えておく必要のあるポイントは次のとおりです。
コードは常に異なる方法で分岐してください。たとえば、さまざまなイベントリスナーを登録する場合は、1つのメソッド「registerListeners()」を作成します。
_public void registerListeners() {
// your button, listview....components event listeners codes
}
_
次に、onCreate()
で、このメソッドを呼び出します。これにより、すべてのリスナーコードが一か所に登録され、読みやすく検索しやすくなります。
すべてのコントロールIDの取得は、「initControls」という名前の別のメソッドで行われます。
_public void initControls() {
buttonSave=(Button)findviewById(R.id.save);
listviewItem=(ListView)findviewById(R.id.listviewItem);
// etc..etc...components
}
_
次に、onCreate()
で、このメソッドを呼び出します。これを行うことにより、すべてのコントロールIDを1つの場所に配置し、非常にきれいに見えるようになります。とても簡単に検索できます。
_onCreate() {
//after setcontentview
initControls();
registerListeners();
}
_
願わくば、これがコードの記述についてさらに探求するのに役立つことを願っています。 :)