답변:
android.support.v4.app.Fragment
Android 지원 라이브러리 의 Fragment 클래스는 이전 버전의 Android에서 Android의 새로운 기능 중 일부를 사용할 수있는 호환성 패키지입니다.
android.app.Fragment
는 IS 조각의 안드로이드 SDK의 기본 버전의 클래스. Android 3 (API 11)에서 도입되었습니다.
앱에서 프래그먼트를 사용하도록하고 API 11 이전의 기기를 타겟팅하려면을 사용해야합니다 android.support.v4.app.Fragment
. 그러나 API 11 이상을 실행하는 기기 만 타겟팅하는 경우을 사용할 수 있습니다 android.app.Fragment
.
편집 : android.app.Fragment
이제 OS 포함 이 더 이상 사용되지 않으며 (API 레벨 28 현재) 지원 라이브러리 구현을 사용하는 모든 사람으로 이동해야합니다.
2018 년 기준 :
에서 android.app.Fragment
문서 :
이 클래스는 API 레벨 28에서 더 이상 사용되지 않습니다. 모든 장치에서 일관된 동작 및 수명주기에 액세스
하려면 지원 라이브러리Fragment
를 사용하십시오 .
따라서 이제 지원 단편 ( android.support.v4.app.Fragment
)을 기본 단편 ( android.app.Fragment
) 대신 어디에서나 사용해야합니다 .
android.app.Fragment
클래스가 더 이상 사용되지 않을 때 API 레벨 28이 대체 가능한 급진적 대체 접근법을 가질 것으로 기대했습니다 . 정방향 접근 android.support.v4.app.Fragment
방식이 있습니까? 아니면 역방향 접근 방식이 올바른 방식입니까?
나는 사용한다 android.support.v4.app.Fragment
독점적으로 합니다.
필자가 작성하는 모든 앱은 Android 2.3으로 바로 지원해야하며 이것이 가장 쉬운 방법입니다.
11 이상을 지원하는 경우을 선택하십시오 android.app.Fragment
.
android.support.v4.app.Fragment
이전 API 버전에 대한 하위 호환성을 얻는 데 사용할 수있는 라이브러리입니다.
프래그먼트는 API 레벨 11에 추가되었으며 (다른 기능과 함께) 해당 기능을 API 11 이전 디바이스로 확장하기 위해 해당 라이브러리를 포함해야합니다. 그것은 유용한 라이브러리이며 ActionBarSherlock을 살펴 보는 것이 좋습니다. ActionBarSherlock은 작업 표시 줄을 API v11 이전 장치로 확장합니다.
애플리케이션이 API 11 이상을 대상으로하는 경우 android.app.Fragment를 사용하면 APK 크기가 줄어 듭니다. 그렇지 않으면 android.support.v4.app.Fragment를 사용하십시오.