2011-10-04 5 views
6

誰かが自分のプロジェクトを整理してきれいになるように戦略を立てることはできますか?私にはたくさんの活動があります。他のクラス(カスタムアダプターなど)を別のパッケージに入れて "ロジック"を分離するのは良いですか?Android SDKのコードファイル/ XMLファイルの整理

また、レイアウト用のXMLファイルを作成するときに、特定のアクティビティ用のレイアウトやカスタムの「行」用のレイアウト(アダプタで使用する)がある場合、レイアウトXMLファイルを論理的に分割する方法それらをすべてres/layoutに投げ捨てることは望ましくありません。プロジェクトが本当に大きくなると、それは非常に面倒な作業になります。

答えて

8

私にはたくさんの活動があります。他のクラス(カスタム アダプターなど)を別のパッケージに入れて "ロジック"をより良く分離しながら、すべてを 別のパッケージに入れることは良いですか?

私はベストプラクティスが何であるかわからないんだけど、ここで私は自分のアプリケーションを整理する方法は次のとおりです。私はcom.foo.appname.activityで私の活動を置く傾向があり、コンテンツプロバイダcom.foo.appname.contentで、com.foo.appname.serviceでのサービス、およびcom.foo.appname.utilsで、一般的なユーティリティ。

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

私はただのres /レイアウト

にそれらのすべてを投げるにしたくない私はresディレクトリはサブディレクトリを持つことが許可されていることはないと思うので、あなたができる最善のは来ています良い命名方式で通常、レイアウトファイルの接頭辞には、activity_foo.xml,fragment_foo.xmlなどの接頭辞が付いています。

+0

これは良いことです。ありがとうございました! – volk

2

これらのすべての提案はもちろん選択です。しかし、私が何かを開発するときは、論理層を「可視」の層とクラスから分離することができます。私は別のパッケージを使用していることを意味します。

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

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

あなたのレイアウトで...私はあなたがレイアウトを整理することができますか分かりません。あなたのプロジェクトを生成するとき、あなたが見たら、genフォルダにはR.javaクラスがあります。そのクラスはレイアウト、drawable、rawなどのフォルダを自動的に検出しますが、サブフォルダを内部に作成できるかどうかはわかりません。