android-support-v7-appcompat와 android-support-v4의 차이점


147

android-support-v4.jar 과 android-support-v7-appcompat.jar 의 차이점을 알고 싶었 습니다 . 내 응용 프로그램에 appcompat 작업 표시 줄을 추가하려면 android-support-v7-appcompat.jar 및 android-support-v4.jar 또는 android-support-v7-appcompat.jar 만 추가해야합니다 .

또한 android-support-v13.jar 에 appcompat가 있습니까?

답변:


170

최신 정보

이 질문에 대한 답변이 제공되었으므로 지원 라이브러리에 많은 변경 사항이 있습니다. 좋은 점은 매우 잘 문서화되어 있다는 것입니다. 따라서 자세한 내용과 사용 가능한 지원 라이브러리에 대해서는 지원 라이브러리 설명서 를 읽어야합니다 .

지원 라이브러리 릴리스 26.0.0 (2017 년 7 월)부터 대부분의 지원 라이브러리에서 지원되는 최소 API 레벨이 대부분의 라이브러리 패키지에서 Android 4.0 (API 레벨 14)으로 증가했습니다.


다음은 지원 라이브러리 패키지 와의 차이점입니다 .

v4 지원 라이브러리

이 라이브러리는 Android 1.6 (API 레벨 4) Android 2.3 (API 레벨 9) Android 4.0 (API 레벨 14) 이상에서 사용하도록 설계되었습니다 . 여기에는 응용 프로그램 구성 요소, 사용자 인터페이스 기능, 접근성, 데이터 처리, 네트워크 연결 및 프로그래밍 유틸리티에 대한 지원을 포함하여 다른 라이브러리에 비해 가장 큰 API 세트가 포함됩니다.

v7 라이브러리

Android 2.1 (API 레벨 7) Android 2.3 (API 레벨 9) Android 4.0 (API 레벨 14) 이상에서 사용하도록 설계된 여러 라이브러리가 있습니다 . 이러한 라이브러리는 특정 기능 세트를 제공하며 서로 독립적으로 애플리케이션에 포함될 수 있습니다.

v7 appcompat 라이브러리

이 라이브러리는 작업 표시 줄 사용자 인터페이스 디자인 패턴에 대한 지원을 추가합니다.

참고 : 이 라이브러리는 v4 지원 라이브러리에 따라 다릅니다. Ant 또는 Eclipse를 사용중인 경우이 라이브러리의 클래스 경로의 일부로 v4 지원 라이브러리를 포함시켜야합니다.

v7을 사용하려면 두 항아리가 모두 필요합니다.


android-support-v13.jar 업데이트

v13 지원 라이브러리

이 인터페이스는 API 레벨 27.1.0에서 더 이상 사용되지 않습니다. 프레임 워크 Fragment 대신 Fragment 를 사용하십시오 .

v13 지원 라이브러리

이 라이브러리는 Android 3.2 (API 레벨 13) 이상에서 사용하도록 설계되었습니다. (FragmentCompat) 클래스 및 추가 조각 지원 클래스를 사용하여 Fragment 사용자 인터페이스 패턴에 대한 지원을 추가합니다.

패키지 세부 정보가 표시되면 정의에 지정된대로 FragmentCompat 클래스가 있습니다. 따라서 appcompat 라이브러리의 모든 클래스가 없습니다.


2
min api 19에서 앱을 개발중인 경우이 앱이 필요합니까?

2
v4 지원 라이브러리 –이 라이브러리는 Android 2.3 (API 레벨 9) 이상에서사용하도록 설계되었습니다.
— Vadik

1
그리고 지원 라이브러리부터 v7 - 함께 사용하도록 설계 여러 라이브러리가 있습니다 안드로이드 2.3 (API 레벨 9) 이상에서는.
— Vadik

@ user5366495 아마 그렇습니다. 대부분의 좋은 점이 있으며 API21 and above 더 낮은 가격으로 사용하려면 지원 라이브러리를 사용해야합니다. 따라서 여전히 필요할 수 있습니다 API19.
— Mahdi-Malv

48

지원 라이브러리 란 무엇입니까?

지원 라이브러리는 코드 라이브러리 (클래스 모음)로, 기존 장치에서 작동하도록 새로 추가 된 기능을 만듭니다.
예를 들어, 재질 디자인은 API (21)에 도입 (안드로이드 5.0 - Lolipop)했지만 V7 지원 라이브러리 API 7 (안드로이드 2.1.x의 -Eclair) 이상에이를 사용할 수 있습니다.

다른 지원 라이브러리는 무엇입니까?

주요 지원 라이브러리 중 일부는

  • V4 지원 라이브러리

  • V7 지원 라이브러리

  • V8 지원 라이브러리

  • v13 지원 라이브러리

v7 지원 라이브러리에서 7의 의미는 무엇입니까?

이는이 라이브러리에 API 레벨 7 이상에서 사용하도록 설계된 기능이 있음을 의미합니다. V4 (API 4 이상을위한 기능 포함)도 마찬가지입니다.

v7 지원 라이브러리와 v7 appcompat 라이브러리의 차이점은 무엇입니까?

저를 포함한 몇몇 사람들은이 두 용어를 혼동합니다. 실제로 v7 appcompat 라이브러리는 v7 지원 라이브러리의 일부입니다. v7 지원 라이브러리는 주로 API 7 이상에 대한 머티리얼 디자인 및 ActionBar 디자인 패턴을 지원하도록 개발되었습니다.
V7은 더 많은 하위 범주로 분류 될 수 있습니다

  • v7 appcompat 라이브러리

  • v7 cardView 라이브러리

  • v7 recyclerView 라이브러리

  • v7 팔레트 라이브러리 등

v7 appcompat 라이브러리에는 다음과 같은 주요 클래스 인 ActionBar, ActionBarActivity, ShareActionProvider가 있습니다.

추가하면

com.android.support:appcompat-v7:21.0.+

gradle 파일의 종속성으로 인해 위에서 언급 한 클래스를 가져옵니다.

보너스

다른 지원 라이브러리

멀티 덱스 지원 라이브러리 (65k 이상의 방법으로 앱을 생성하는 경우)
v17 Leanback 지원 라이브러리 (Android TV에 중요한 위젯을 제공하는 지원 라이브러리)

관련 링크


6
이것은 받아 들일만한 대답이어야하며 모든 것을 간단한 단어로 분명히 설명합니다.
— gegobyte

44

최소 SDK 버전이 API 레벨 11 미만인 경우에만 지원 라이브러리가 필요합니다. 그렇지 않으면 Api 레벨 11 이상의 프로젝트에 지원 라이브러리를 추가 할 필요가 없습니다.

android-support-v4.jar :android.app Android API 레벨 4 이상의 애플리케이션 개발을 지원하는 클래스를 지원하십시오. 따라서 응용 프로그램 백 워드를 호환 가능하게 만들 수 있습니다.

android-support-v7.jar 최근에 최신 지원 라이브러리 업데이트에 추가되었습니다. ActionBar 사용자 인터페이스 디자인 패턴을 Android 2.1 (API 레벨 7) 이상으로 구현할 수있는 ActionBar 이 클래스를 사용하려면 새 ActionBarActivity클래스 를 확장하여 활동을 구현해야합니다 .

내 응용 프로그램에 appcompat 작업 표시 줄을 추가하려면 android-support-v7-appcompat.jar 및 android-support-v4.jar 또는 android-support-v7-appcompat.jar 만 추가해야합니다.

예, 두 라이브러리를 모두 사용하려면 두 라이브러리에 대한 참조를 추가해야합니다.

android-support-v13.jar에 appcompat가 있습니까?

아니요, FragmentCompat 이 포함되어 있으므로 버전 13 이후에 추가 된 Fragment 기능 중 일부가 Api 레벨 11과 호환되도록 백 워드 호환 가능하도록 만들 수 있습니다. 따라서 응용 프로그램 타겟팅 API 11 이상은 최신 버전에 추가 된 기능을 사용할 수 있습니다.


9
DrawerLayout/는 NavigationDrawer현재 지원 라이브러리 에만 존재 합니다 .
— Kiran

3
com.android.support:multidex:1.0.0 및 com.android와 같이 11 개 이상의 API에 기본적으로 포함되지 않은 지원 라이브러리 중 하나를 기반으로하는 Android 앱에서 사용할 수있는 다른 구성 요소가 있습니다. 지원 : 디자인 : 23.1.0. 전체 정보는 이것을 확인하십시오 : developer.android.com/tools/support-library/features.html
— aselims

Google이 developer.android.com/topic/libraries/support-library/ 에서 말한 것처럼 v4 지원과 v7 지원 사이에는 차이가 없습니다. 둘 다 API 9 이상입니다. 이것이 사실입니까?!
— Mahdi

켄지, 맞아 Google Shift Min 지원은 4에서 9로, 7에서 9로, 두 라이브러리는 서로 중복됩니다.
— 야로슬라프 Havrylovych

min api 19에서 앱을 개발중인 경우이 앱이 필요합니까?

10

먼저 Android 지원 라이브러리 란 무엇입니까 ?

Android 지원 라이브러리는 원래 2011 년에 릴리스되었으므로 Android 호환성 라이브러리라고 할 수 있습니다. Android 지원 라이브러리는 이전 릴리스에 대한 최신 API를 제공하지만 이야기로는 충분하지 않습니다.

버전 번호가 높은 라이브러리를 지원하는 것은 이전 라이브러리의 기능을 포함한다는 점을 혼동 할 수 있습니다. 대부분의 경우 이것은 올바르지 않습니다. 그러나 라이브러리 자체에는 개정 번호가 있습니다. 예를 들어,“AppCompat v21”은 실제로 라이브러리 v7-appcompat, 개정 21을 지원합니다.

Android 지원 라이브러리는 단일 라이브러리가 아니지만 호환성 및 구성 요소 라이브러리의 두 그룹으로 나눌 수 있습니다.

1- 호환성 라이브러리는 이전 릴리스를 실행하는 장치가 새로운 API를 활용할 수 있도록 최신 프레임 워크 릴리스의 백 포트 기능에 중점을 둡니다. 주요 호환성 라이브러리는 v4 및 v7-appcompat입니다.

v4 라이브러리 : 많은 기능이 포함되어 있으며 이름에서 알 수 있듯이 API 4를 다시 지원합니다. 또한 Fragment 및 Loader와 같은 주요 클래스에 대한 구현을 지원하기 위해 API 11의 프레임 워크에서 모두 소개되었습니다. ViewPager 및 DrawerLayout과 같이 프레임 워크에 전혀없는 널리 사용되는 클래스를 찾으십시오.

v7-appcompat : v7-appcompat 라이브러리는 API 7로 다시 릴리스 할 수 있도록 ActionBar (API 11에서 도입) 및 툴바 (API 21에서 도입)에 대한 지원 구현을 제공합니다. v4 라이브러리가 필요하지만 포함하지는 않습니다. 따라서 v7-appcompat에 종속 된 기능도 v4에 종속됩니다.

2 개 구성 요소 라이브러리 Android 지원 라이브러리는 개발자가 표준 프레임 워크의 일부가 아닌 기능을 추가 할 수 있도록 더 작고 모듈화 된 구성 요소 라이브러리를 제공합니다. 이러한 독립적 인 라이브러리는 종속성에 대한 염려없이 프로젝트에서 쉽게 추가하거나 제거 할 수 있습니다. 고려해야 할 몇 가지 유용한 구성 요소 라이브러리가 있습니다.

v7-recyclerview : 많은 양의 데이터를 효율적으로 표시하고 애니메이션화하며 ListView를 대체하도록 설계된 RecyclerView 구성 요소를 제공합니다.

v7-cardview : CardUI 구성 요소를 제공하여 카드 UI 디자인 패턴을 가능하게합니다.

v7-gridlayout : UI 요소를 사각형 격자로 구성 할 수있는 GridLayout 클래스를 제공합니다. 기타..

기타 라이브러리 Android 지원 라이브러리에는 자주 사용되지는 않지만 언급 할 가치가있는 몇 가지 다른 라이브러리도 포함되어 있습니다.

v8 : API 8로 다시 제공되는 RenderScript (API 11에 도입) 지원

v13 : Fragment UI 패턴에 대한 추가 호환성 지원을 제공하고 v4 라이브러리를 번들로 제공

v17 : TV UI 구축 지원

언제 Android 지원 라이브러리를 사용해야합니까?

앱의 minSdkVersion보다 최신이거나 표준 프레임 워크에서 사용할 수없는 특정 프레임 워크 기능이 필요한 경우 지원 라이브러리 중 하나를 사용해야합니다.

이 튜토리얼을 참조하십시오


5

이 답변은 버전이 26.0.0 이상인 지원 라이브러리의 클라이언트와 관련이 있습니다.

주의 : 지원 라이브러리 릴리스 26.0.0 (2017 년 7 월)부터 대부분의 지원 라이브러리에서 지원되는 최소 API 레벨 이 대부분의 라이브러리 패키지 에서 Android 4.0 (API 레벨 14)으로 증가했습니다 .

예를 들어, support-v4 및 support-v7 패키지는 모두 26.0.0 이상의 지원 라이브러리 릴리스에 대해 최소 API 레벨 14를 지원 합니다.

자세한 내용은 지원 라이브러리 버전 지원 및 패키지 이름을 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.