당신에 대해 이야기하면 Activity
, AppcompactActivity
, ActionBarActivity
등 등 ...
확장하는 기본 클래스에 대해 이야기해야합니다. 먼저 슈퍼 클래스의 계층 구조를 이해해야합니다.
모든 것은이 모든 클래스의 수퍼 클래스 인 Context에서 시작됩니다.
컨텍스트 는 Android 시스템에서 구현을 제공하는 추상 클래스입니다. 응용 프로그램 별 리소스 및 클래스에 액세스 할 수 있으며 활동 시작, 방송 및 수신 의도 등과 같은 응용 프로그램 수준 작업을위한 전화
Context
뒤에 또는 확장 ContextWrapper
ContextWrapper이 확장 클래스입니다 상황에 맞는 클래스를 간단하게 모든 다른 문맥과의 통화 위임한다. 원래 컨텍스트를 변경하지 않고 동작을 수정하기 위해 서브 클래 싱 할 수 있습니다.
이제 우리는 Activity
활동 확장하는 클래스입니다 ContextThemeWrapper을 사용자가 할 수있는 하나의 초점을 맞춘 것은입니다. 거의 모든 활동이 사용자와 상호 작용하므로 Activity 클래스가 사용자를 위해 창을 만듭니다.
아래 클래스는 확장이 제한되어 있지만 내부적으로 하위 클래스로 확장되어 특정 API를 지원합니다.
SupportActivity는 함께 호환성 기능을 구성하기위한 기본 클래스입니다 활동을 확장하는 클래스이다
BaseFragmentActivityApi14은 확장하는 클래스입니다 SupportActivity을
그것은 클래스 제한되는 기본 클래스이지만 의해 확장되는
BaseFragmentActivityApi16 의 기능을 지원하기 위해 V14을
BaseFragmentActivityApi16은 확장하는 클래스입니다
BaseFragmentActivityApi14 {@code를위한 기본 클래스입니다
FragmentActivity } 사용할 수 있도록 V16의 API를. 그러나 클래스도 제한되어 있지만 FragmentActivity에 의해 V16의 기능을 지원하도록 확장되었습니다.
지금 FragmentActivty
FragmentActivity은 확장하는 클래스이다
BaseFragmentActivityApi16을 하고는 지원 기반 조각 및 로더 API를 사용하고자합니다.
새로운 플랫폼의 내장 프래그먼트 및 로더 지원과 달리이 클래스를 사용하는 경우 getSupportFragmentManager()
및 getSupportLoaderManager()
메소드를 각각 사용하여 해당 기능에 액세스 해야합니다 .
ActionBarActivity 는 지원 라이브러리의 일부입니다. 지원 라이브러리는 이전 플랫폼에서 최신 기능을 제공하는 데 사용됩니다. 예를 들어 ActionBar 는 API 11에 도입되었으며 기본적으로 활동의 일부입니다 (실제 테마에 따라 다름). 반대로 이전 플랫폼 에는 ActionBar 가 없습니다 . 지원 라이브러리는 ActionBar의 기능과 UI 를 제공하는 Activity의 하위 클래스 ( ActionBarActivity )를 추가합니다.
2015 년에 ActionBarActivity 는 지원 라이브러리의 개정판 22.1.0에서 더 이상 사용되지 않습니다. 대신 AppCompatActivity를 사용해야합니다.
AppcompactActivity은 확장하는 클래스입니다
FragmentActivity 지원 라이브러리 작업 표시 줄 기능을 사용하여 활동의 기본 클래스입니다.
활동에 대한이 클래스를 확장하고 활동 테마를 유사한 테마 로 설정하여 API 레벨 7 이상에서 실행할 때 활동에 ActionBar 를 추가 할 수 있습니다.Theme.AppCompat
나는이 두 가지를 참조 하나 , 둘
FragmentActivity
ies를 호스팅하지 않을 것 입니다. 의 호스트 만 호스팅Fragment
합니다. 최신 Android 버전에서는Activity
클래스 자체가 직접 호스팅되도록 업데이트되었습니다. 이전 버전을 지원하기 위해FragmentActivity
도입되었습니다.