android-fragments 안드로이드 - Android.app ViewPager를 사용하여 조각과 android.support.v4.app 파편을 비교 하시겠습니까?




안에 전달 (4)

안드로이드 지원 라이브러리, 프래그먼트 및 특정 예제 인 ViewPager 클래스에 관한 질문이 있습니다. 내 의도는 Android 개발자 웹 사이트 ( http://developer.android.com/training/animation/screen-slide.html 또는 http://developer.android.com/training/implementing-navigation/lateral.html 에서 제공되는 샘플과 유사한 기능을 가진 앱을 만드는 것입니다. http://developer.android.com/training/implementing-navigation/lateral.html )을 참조하십시오. 코드를 살펴보면, android.support.v4.app 라이브러리를 사용하는 것으로 나타났습니다 android.support.v4.app 라이브러리는 내 연구에서 ViewPager 클래스에 액세스하는 유일한 방법입니다.

내 상황에서는 이전 버전과의 호환성에 관심이 없습니다. 최소 API 레벨은 14 (Ice Cream Sandwich)이며 빌드 타겟은 4.2 Jelly Bean입니다. 가장 간단한 형태로, 내 앱은 Android 개발자 웹 사이트에서 링크 된 두 번째 데모와 정확히 동일하게 작동합니다. 각각의 콘텐츠가 포함 된 세 개의 탭 사이를 스 와이프하면됩니다.

내가 읽은 모든 기사 / 게시물 / 답변은 v4 지원 라이브러리 에 크게 도움이되는 것 같습니다. 이제 내 말 들어, 긴 -에도 불구하고, 질문 (들) :

  1. 내 응용 프로그램을 구조화하는 가장 좋은 방법은 android.support.v4.app 를 사용하여 SupportFragments를 사용하거나 android.app 에서 제공되는 Fragments를 사용하는 것입니다 android.app 이유는 무엇입니까?

  2. android.app Fragments가 가장 좋은 방법 인 경우 ViewPagers 에 접근하는 최적의 방법은 무엇입니까?

  3. SupportFragments가 작업에 가장 적합한 경우 다른 기능과 동일한 기능을 수행 할 것으로 추정됩니다. 따라서 android.app 내부에서 SupportFragments를 사용하는 이유는 무엇 android.app ?

희망을 갖고 더 명확한 이해력을 가진 누군가가 나에게 경탄을 퍼붓기 때문에 약간의 설명을 할 수 있습니다.


Answers

android.app.Fragment 클래스는 Android P ( link ) 이후로 사용되지 않으므로 android.support.v4.app.Fragment 만 사방에 사용해야합니다.


ViewPagerandroid.app 패키지의 어댑터와 함께 android.app 패키지의 기본 프래그먼트와 함께 사용할 수 있습니다. 이를 위해서는 v13 지원 jar 파일을 사용해야합니다.

ViewPager 와 연동되는 두 가지 버전의 어댑터가 있습니다. v4 패키지의 것들은 v13 기본 조각과 함께 지원되는 조각들과 함께 사용됩니다.

이제 두 개의 프래그먼트 구현이있는 이유는 역사적입니다. android.app 패키지의 조각은 Android 3과 함께 태블릿 용으로 도입되었으며 지원 라이브러리는 이전 버전을 실행하는 휴대 전화에 조각을 가져 오기 위해 만들어졌습니다. Android 4에는 둘 다 있습니다.

내 자신의 경험에 비추어 볼 때, Android 4 용으로 개발할 때도 지원 부분을 사용하는 것이 좋습니다. 몇 가지 이유가 있습니다 : 조각 또는 지원 부분?


API 11+를 타겟팅하려는 경우 지원 라이브러리가 필요하지 않으며 [실제 APK는 더 작아집니다.]

Android 3.x 이전 버전을 지원하려면 지원 라이브러리가 필요합니다.

네가 묻고있는거야?


onCreateOptionsMenuonPrepareOptionsMenu 메서드는 실제로 볼 수있는 단편의 경우에만 호출된다는 것을 알았습니다. 이런 식으로 동작하는 메서드를 찾지 못했습니다. 또한 OnPageChangeListener 시도했지만 상황에 따라 작동하지 않습니다. 예를 들어 onCreate 메서드에서 초기화 된 변수가 필요합니다.

따라서이 두 가지 방법을 임시 해결책으로 사용할 수 있습니다.

나는 이것이 더 나은 해결책이지만 최선은 아니라고 생각합니다. 나는 이것을 사용할 것이지만 동시에 더 나은 해결책을 기다린다.

문안 인사.







android android-fragments android-viewpager android-support-library