[android] android.app.Fragment와 android.support.v4.app.Fragment의 차이점

차이점은 무엇이며 android.app.Fragment그리고 android.support.v4.app.Fragment, 각 사용해야하는 상황은 무엇인가?



답변

android.support.v4.app.FragmentAndroid 지원 라이브러리 의 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.support.v4.app.Fragment 독점적으로 합니다.

필자가 작성하는 모든 앱은 Android 2.3으로 바로 지원해야하며 이것이 가장 쉬운 방법입니다.

11 이상을 지원하는 경우을 선택하십시오 android.app.Fragment.


답변

애플리케이션이 API 11 이상을 대상으로하는 경우 android.app.Fragment APK 파일이 더 작아집니다.

그렇지 않으면 android.support.v4.app.Fragment이전 Android API 버전 (Android 3.x)을 지원하기 위해 라이브러리를 프로젝트에 추가하십시오 .


답변

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를 사용하십시오.


답변