2011-10-04 3 views
6

내 프로젝트를 정리하여 깨끗하게 정리할 수있는 전략이 있습니까? 나에게는 많은 활동이 있다고 가정 해보십시오. 다른 패키지에 다른 클래스 (예 : 맞춤 어댑터)를 넣으면 "논리"가 더 잘 분리됩니다.Android 용 코드 파일/XML 파일 구성

레이아웃 용 XML 파일을 만들 때 특정 활동을위한 레이아웃과 사용자 지정 "행"(어댑터와 함께 사용)을위한 다른 레이아웃이있는 경우 어떻게 레이아웃 XML 파일을 논리적으로 분리 할 수 ​​있습니까? 그것들을 모두 res/layout에 넣고 싶지는 않습니다. 프로젝트가 정말 커지면 엄청난 번거 로움이 될 것입니다.

답변

8

나는 많은 활동을하고있다. 다른 패키지 (예 : 어댑터)에 다른 클래스를 넣어 두는 것이 "논리"를 더 잘 구분하는 반면, 모두 별도 패키지에 모두 넣는 것이 좋습니다.

나는 최상의 방법이 무엇인지 모르겠지만, 여기에 내가 내 응용 프로그램을 구성하는 방법은 다음과 같습니다 나는 com.foo.appname.utils에, com.foo.appname.activity 내 활동을 넣어 콘텐츠 com.foo.appname.content의 공급 업체, 서비스 com.foo.appname.service에서, 및 일반 유틸리티 경향이있다.

하나의 활동에서만 사용되는 Adapters과 같은 도우미 클래스의 경우 일반적으로 정적 인 내부 클래스로 만듭니다. 여러 액티비티에 사용되는 경우 액티비티 패키지에서 패키지 수준의 가시성을 부여합니다.

난 그냥 고해상도/레이아웃에 그들 모두를 던져하지 않으

나는 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 클래스가있다. 이 클래스는 layout, drawable, raw와 같은 폴더를 자동 감지합니다 ... 그러나 하위 폴더를 만들 수 있는지 확실하지 않습니다.