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


147

android-support-v4.jarandroid-support-v7-appcompat.jar 의 차이점을 알고 싶었 습니다 . 내 응용 프로그램에 appcompat 작업 표시 줄을 추가하려면 android-support-v7-appcompat.jarandroid-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.