6

私のプロジェクトをきれいに整理するための戦略を誰かが提供できますか? たくさんのアクティビティがあるとします。「ロジック」をより適切に分離するために、他のクラス (カスタム アダプターなど) を別のパッケージに入れながら、それらをすべて別のパッケージに配置するのは良いことですか?

また、レイアウト用の XML ファイルを作成するときに、特定のアクティビティ用のレイアウトとカスタム「行」用の他の XML レイアウト ファイル (アダプターで使用するため) がある場合、レイアウト XML ファイルを論理的に分離するにはどうすればよいでしょうか。それらをすべて res/layout に放り込むだけでは、プロジェクトが非常に大きくなると、非常に面倒になります。

4

2 に答える 2

8

たくさんのアクティビティがあるとします。「ロジック」をより適切に分離するために、他のクラス (カスタム アダプターなど) を別のパッケージに配置しながら、それらをすべて別のパッケージに配置するのは良いことですか?

ベスト プラクティスとは何かはよくわかりませんが、アプリケーションを整理する方法は次のとおりです。アクティビティを にcom.foo.appname.activity、コンテンツ プロバイダを にcom.foo.appname.content、サービスをcom.foo.appname.serviceに、一般的なユーティリティをに配置する傾向がありますcom.foo.appname.utils

そのようなヘルパー クラスAdaptersは 1 つのアクティビティでのみ使用されるため、通常はそれらを静的内部クラスにします。それらが複数のアクティビティで使用されている場合は、アクティビティ パッケージでパッケージ レベルの可視性を提供します。

それらすべてを res/layout に投げ込みたくありません

ディレクトリにサブディレクトリを含めることは許可されていないと思うresので、最善の方法は適切な命名スキームを考え出すことです。通常、レイアウト ファイルの前にactivity_foo.xmlfragment_foo.xmlなどのタイプを付けます。

于 2011-10-04T20:15:17.693 に答える
2

もちろん、これらの提案はすべてあなたの選択です。しかし、何かを開発するときは、論理レイヤーを「目に見える」レイヤーとクラスから分離するために使用します。つまり、さまざまなパッケージを使用しています

a) Activites
b) Classes or Objects
c) Interface classes
d) Database classes
e) Interaction with Database

また、それらすべてに異なるパッケージを作成するので、より適切に整理できます。しかし、これは常にあなたの選択です。

そして、あなたのレイアウトで... レイアウトをうまく整理できるかどうかわかりません。プロジェクトを生成すると、gen フォルダーに R.java クラスがあります。そのクラスは、レイアウト、ドローアブル、生などのフォルダーを自動検出します...しかし、その中にサブフォルダーを作成できるかどうかはわかりません。

于 2011-10-04T20:24:06.647 に答える