Різниця між 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 року), мінімальний підтримуваний рівень API у більшості бібліотек підтримки збільшився до Android 4.0 (рівень API 14) для більшості пакетів бібліотеки.


Нижче відмінність від пакетів бібліотеки підтримки :

v4 Бібліотека підтримки

Ця бібліотека розроблена для використання з Android 1.6 (рівень 4 API) Android 2.3 (рівень 9 API) Android 4.0 (рівень API 14) та вище. Він включає найбільший набір API в порівнянні з іншими бібліотеками, включаючи підтримку компонентів додатків, функцій користувальницького інтерфейсу, доступності, обробки даних, підключення до мережі та утиліти програмування.

v7 Бібліотеки

Є кілька бібліотек, розроблених для використання з Android 2.1 (рівень 7 API) 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. Використовуйте Фрагмент замість Фрагмент рамки.

v13 Бібліотека підтримки

Ця бібліотека призначена для використання для Android 3.2 (рівень API 13) та новіших версій. Він додає підтримку шаблону інтерфейсу користувача Fragment з класом (FragmentCompat) та додатковими класами підтримки фрагментів

Коли ви бачите деталі пакета, він має клас FragmentCompat, як зазначено у визначенні. Таким чином, це не всі класи бібліотеки додатків.


2
Якщо ви розробляєте додаток від min api 19. Вам це потрібно?

2
v4 Бібліотеки підтримки - ці бібліотеки розроблені для використання під керуванням Android 2.3 (API 9 рівня) та вище.
Вадик

1
І v7 Бібліотеки підтримки - Є декілька бібліотек, розроблених для використання з Android 2.3 (API 9 рівня) та вище.
Вадик

@ user5366495 Напевно, так. Більшість хороших речей є для, API21 and above і якщо ви хочете використовувати їх нижче, ви повинні використовувати для цього бібліотеку підтримки. Тож вам це все одно знадобиться API19.
Махді-

48

Що таке бібліотека підтримки?

Бібліотеки, що підтримують, - це бібліотеки кодів (Колекція класів), яка робить щойно додану функцію для роботи зі старими пристроями.
Наприклад, матеріал Дизайн був введений в API 21 (Android 5.0 - Lolipop) , але бібліотека v7-підтримка робить його доступним для API 7 (Android 2.1.x -Eclair) і вище.

Що таке різні бібліотеки підтримки?

Деякі основні бібліотеки підтримки є

  • V4 Підтримка бібліотеки

  • V7 Підтримка бібліотеки

  • V8 Бібліотека підтримки

  • v13 Бібліотека підтримки

Що означає 7 у бібліотеці підтримки v7?

Це означає, що ця бібліотека має функції, призначені для використання з API рівня 7 і вище. Те саме стосується V4 (містить функції, призначені для API 4 та новіших версій) тощо.

Різниця між бібліотекою підтримки v7 та бібліотекою додатків v7?

Мало хто, включаючи мене, плутається з цими двома термінами. Насправді, бібліотека додатків v7 v7 є частиною бібліотеки підтримки v7. Бібліотека підтримки v7 була в основному розроблена для підтримки дизайну матеріалів та дизайну ActionBar для API 7 та новіших версій.
V7 можна класифікувати на більше підкатегорій

  • v7 бібліотека appcompat

  • v7 cardView library

  • v7 бібліотека recilerView

  • v7 бібліотека піддонів тощо

Бібліотека додатків v7 має наступні ключові класи ActionBar, ActionBarActivity, ShareActionProvider.

Отже, додаючи,

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

залежність у вашому файлі gradle, імпортує вищезазначені класи.

Бонус

Інші бібліотеки підтримки

Бібліотека підтримки Multidex (для створення додатків з більш ніж 65 к методами)
v17 Бібліотека підтримки Leanback (Бібліотека підтримки, яка надає важливі віджети для Android TV)

Відповідні посилання


6
Це має бути прийнята відповідь, чітко пояснює все простими словами.
геобайт

44

Бібліотека підтримки потрібна лише у тому випадку, якщо ваша мінімальна версія sdk менше рівня 11 API.

android-support-v4.jar:android.app Класи підтримки для розробки програм для Android API рівня 4 або новіших версій. Таким чином, ви зможете зробити зворотний слово для своєї програми сумісним,

android-support-v7.jar Нещодавно додано до останнього оновлення бібліотеки підтримки. ActionBar, щоб дозволити реалізацію схеми дизайну користувальницького інтерфейсу панелі дій назад до Android 2.1 (рівень API 7) та вище. Використання цього класу вимагає здійснення вашої діяльності шляхом розширення нового ActionBarActivityкласу.

Якщо я хочу додати панель дій appcompat у свою програму, чи потрібно мені додати як android-support-v7-appcompat.jar, так і android-support-v4.jar або тільки android-support-v7-appcompat.jar.

Так, вам потрібно додати посилання на обидві бібліотеки, якщо ви хочете ним користуватися.

чи має Android-support-v13.jar appcompat?

Ні, він включає FragmentCompat, так що якщо частина функції Fragment додана після версії 13, то ви можете зробити її заднім словом, сумісним з Api рівня 11., щоб API-орієнтація API 11 або новішої версії могла використовувати функцію, додану в новіших версіях.


9
DrawerLayout/ NavigationDrawerнаразі існує лише у бібліотеках підтримки.
Кіран

3
Є інші компоненти, які ви можете використовувати в додатку Android, який базується на одній з бібліотек підтримки, яка за замовчуванням не входить в API більше 11, наприклад com.android.support:multidex:1.0.0 та com.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 і вище. це правда?!
Махді

Кенджі, так це правда. Підтримка Google shift min з 4 на 9 і з 7 на 9 і обидві бібліотеки тепер копіюють одна одну.
Ярослав Гаврилович

Якщо ви розробляєте додаток від min api 19. Вам це потрібно?

10

Спочатку нам потрібно зрозуміти, що таке бібліотека підтримки Android ?

Бібліотека підтримки Android спочатку була випущена в 2011 році. Ви можете сказати, що як бібліотека сумісності Android. Бібліотека підтримки Android надає новіші API для старих версій. Але історії цього недостатньо.

це може бути мало заплутано, що бібліотеки підтримки з більшим номером версій включають функції попередніх бібліотек (ви можете подумати, що v7-appcompat покращується і включає всі функції з v4). У більшості випадків це неправильно. Але самі бібліотеки мають ревізійний номер. Наприклад, "AppCompat v21" насправді відноситься до бібліотеки підтримки v7-appcompat, версія 21.

Бібліотека підтримки Android - це не одна бібліотека, але її можна приблизно поділити на дві групи: бібліотеки сумісності та компонентів.

1-Сумісність Бібліотеки зосереджується на підтримці функцій репортажу з новіших версій фреймворку, щоб пристрої, на яких запущені попередні випуски, могли скористатися новими API. Основні бібліотеки сумісності - v4 та v7-appcompat.

v4-бібліотека : вона включає в себе безліч функцій і, як випливає з її назви, підтримує API 4. Крім того, для підтримки реалізацій для основних класів, таких як Fragment і Loader (які були представлені в рамках API 11), ви також знайти кілька широко використовуваних класів, які взагалі відсутні в рамках, таких як ViewPager і DrawerLayout.

v7-appcompat : бібліотека v7-appcompat забезпечує реалізацію підтримки для ActionBar (представлена ​​в API 11) та Панелі інструментів (представлена ​​в API 21) для випусків назад до API 7. Для цього потрібна бібліотека v4, але не включає її. Таким чином, будь-яка функція, залежна від v7-appcompat, також залежить від v4.

2-компонентна Бібліотеки Бібліотека Підтримка Android також забезпечує менші, більш модульні бібліотеки компонентів , які дозволяють розробникам додавати функції, які в іншому випадку не входить в стандартні рамки. Ці автономні бібліотеки можна легко додати або видалити з проекту, не турбуючись про залежності. Існує кілька цінних бібліотек компонентів, які слід врахувати:

v7-recilerview : надає компонент RecyclerView, який ефективно відображає та анімує великі обсяги даних і призначений для заміни ListView

v7-перегляд карт : забезпечує компонент CardView, що дозволяє схему дизайну інтерфейсу карт

v7-gridlayout : надає клас GridLayout, який дозволяє організовувати елементи інтерфейсу в прямокутну сітку. І т.д.

Інші бібліотеки Бібліотека підтримки Android містить також кілька інших бібліотек, які використовуються рідше, але все ж варто згадати:

v8: надає підтримку RenderScript (введений в API 11) назад до API 8

v13 : надає додаткову підтримку сумісності для шаблону інтерфейсу фрагмента і зв'язує бібліотеку v4

v17 : надає підтримку для створення телевізійних інтерфейсів

Коли я повинен використовувати бібліотеку підтримки Android?

Ви повинні використовувати одну з бібліотек підтримки, коли вам потрібні конкретні функції фреймворка, новіші, ніж minSdkVersion вашого додатка або недоступні в стандартних рамках.

і я посилаюсь на цей підручник


5

Ця відповідь стосується клієнтів бібліотек підтримки, версія яких> = 26.0.0:

Застереження : Починаючи з випуску Бібліотеки підтримки 26.0.0 (липень 2017 року) мінімальний підтримуваний рівень API у більшості бібліотек підтримки збільшився до Android 4.0 (рівень API 14) для більшості пакетів бібліотек.

Наприклад, підтримка-v4 та пакет support-v7 підтримують мінімальний рівень API 14, для випусків Бібліотеки підтримки від 26.0.0 і вище .

Для отримання додаткової інформації див. Бібліотека підтримки - Підтримка версій та Імена пакунків .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.