클래스가 모두 자신의 파일에 포함되어서는 안됩니까?
반드시 Android가 아니어야합니다. Activity
은 '특수 사례'클래스입니다. 당신이 이미하지 않은 경우, 나는
액티비티가 사용자 인터페이스를 하나의 화면을 나타냅니다 ... 당신이 Application components에서 '활동'섹션을 Application Fundamentals을 읽고 특히 권하고 싶습니다. 예를 들어 전자 메일 응용 프로그램에는 새 전자 메일 목록, 전자 메일 작성 활동 및 전자 메일 읽기 활동이 표시된 활동이 하나있을 수 있습니다. 전자 메일 응용 프로그램에서 일관된 사용자 경험을 형성하기 위해 여러 활동이 함께 작동하지만 각 활동은 서로 독립적입니다. 따라서 다른 응용 프로그램이 이러한 활동 중 하나를 시작할 수 있습니다 (전자 메일 응용 프로그램에서 허용하는 경우). 예를 들어, 카메라 응용 프로그램은 사용자가 사진을 공유 할 수 있도록 새 메일을 작성하는 전자 메일 응용 프로그램에서 활동을 시작할 수 있습니다.
굵게 강조 표시된 부분에 유의하십시오. 요점은 Activity
그 자체가 완전한 앱이 아니며 허용되는 경우 타사 앱이 잠재적으로 앱 중 하나에서 Activity
을 호출 할 수 있다는 것입니다. 따라서 Activity
을 가능한 한 자체 포함 된 것으로 만드는 것이 일반적입니다. 예를 들어 AsyncTask과 같은 것을 사용하면 배경 스레드를 실행하고 UI를 조작하는 메서드를 제공합니다. AsyncTask
을 확장하는 개인 클래스를 중첩하는 것은 매우 일반적이며 코드를 단순화합니다. BroadcastReceiver을 확장하는 중첩 클래스도 같은 이유로 공통적입니다.
즉, POJO 도우미 클래스 용으로 별도의 Java 클래스 파일을 사용하는 것은 잘못된 것이 아닙니다. 예를 들어 앱이 얼마나 복잡한 지 알 수 있지만 특정 Android 클래스의 작동 방식을 특별히 고려해야합니다. AsyncTask
클래스는 특히 별도의 클래스 파일에 정의 된 경우 하나가되고 시도해 보면 내가 무슨 뜻인지 알 수 있습니다. :-)
질문을 더 잘 설명 할 수있는 몇 가지 예를 게시 할 수 있습니까? – elevine
OOP가 항상 최선의 방법은 아닙니다. 수천 개의 파일로 분할한다고해서 반드시 좋은 OOP 프로그램이 생성되는 것은 아닙니다. –