Squeak.ru - шаблоны программирования

Пакет поддержки Android / библиотека совместимости - использовать v4 или v13?

Я только что прочитал это описание пакета поддержки Android / библиотеки совместимости...

http://developer.android.com/sdk/compatibility-library.html

... и это оставило меня немного в замешательстве! Там написано, что библиотека v13 является надмножеством v4, а я думал, что все наоборот?

Практичность: если я хочу использовать библиотеку совместимости, чтобы мое приложение создавалось и работало нормально на телефонах под управлением Android 2.2 (API 8) до 4.0 (API 14) и выше, будет ли мне достаточно версии 4?


Ответы:


1

Для таргетинга на API 8 (v2.2) следует использовать версию v4.

Большие разделы v13 будут работать, но если вы используете какие-либо функции в нем, которые полагаются на API-интерфейсы платформы 13, ваше приложение взорвется на старых устройствах.

Если нет особенно веских причин, по которым нужна версия 13, я бы предложил сразу перейти на версию 4.

29.03.2012
  • Чтобы уточнить: я указываю «targetSdkVersion» как 14 и «minSdkVersion» как 8 в моем манифесте. Так что v4 по-прежнему тот, который я хочу, верно? 29.03.2012
  • Если вы используете версию 13 и используете в ней функцию, основанную на API платформы 13, ваше приложение взорвется. То, что он компилируется, не означает, что он будет работать на всех устройствах. 29.03.2012
  • Я до сих пор не понимаю, если v13 требует 13+ устройств, почему это надмножество v4... 20.07.2012
  • Это то же самое, что сказать, что v4 является подмножеством v13. Все API версии 4 включены в версию 13, а дополнительные API версии 13, не входящие в версию 4, требуют версии 13+. 08.09.2012
  • Спасибо @ChristopherPerry. Я по ошибке добавил библиотеки поддержки v4 и v13, и ваш комментарий решил мою проблему. Если моя minSdkVersion больше 13, мне нужна только v13, а не обе. 17.02.2013
  • Я проверил источник v13, он добавляет еще 4 класса. 16.09.2014

  • 2

    Ответ правильный, но также немного сбивает с толку! В настоящее время существует 3 банки поддержки: V4, V7 и V13. К сожалению, V7 предназначен только для gridlayout и поэтому НЕ является надмножеством.

    Нас интересует только один jar из библиотеки поддержки [если мы не хотим еще и gridlayout (я не знаю, что это такое!)]. Поэтому мы смотрим на наш android:minSdkVersion="8" и проверяем его на соответствие банкам. Итак, мы хотим V4.

    V13 является надмножеством только в том смысле, что он дублирует методы V4, а НЕ код. т.е. использование V13 в этом примере было бы неверным.

    07.05.2013

    3

    Я не думаю, что мы должны использовать надмножество (или подмножество) для описания этих трех библиотек (v4, v7, v13), хотя самое простое значение кажется обратно совместимым версиями 4, 7 и 13.

    Google сначала добавил фрагмент в версии 4, а затем обновлял его при публикации каждой новой версии. Это означает, что если ваше приложение не поддерживает только самую новую версию (что настоятельно не рекомендуется), нам нужна поддержка версии 4 практически в любое время. Предположим, ваш minsdk 14, который уже имеет фрагмент, но «встроенный фрагмент» поддерживает только после 17, поэтому нам все еще нужен v4 и использовать фрагмент v4 в этой ситуации.

    В этом году (2013) Google опубликовал версию 7 и добавил в нее библиотеку appcompat.Это означает, что помимо третьей поддержки панели действий (ActionbarSherlock) до 11, официальная поддержка может быть лучше Один?? Тогда, я думаю, у нас будет обновление всех функций панели действий. когда каждая новая версия будет опубликована в будущем в v7.

    Нам все еще нужно minsdk=XX (между 7 и 10) сегодня(ноябрь .24,2013). Мы должны добавить поддержку v4 для фрагмента и support-v7 для панели действий для лучшей практики.

    24.11.2013
  • ваш ответ довольно хорошо объясняет, что между этими библиотеками нет отношения надмножества подмножества, в которое верят большинство людей. 27.09.2017

  • 4

    Я проверил исходный код v13, он добавляет только еще 4 класса.

    • ФрагментКомпат
    • ФрагментПейджерАдаптер
    • FragmentStatePagerAdapter
    • Фрагменттабхост

    FragmentCompat добавляет 2 статических метода использования, которые уже включены в фрагмент v4.

    FragmentPagerAdapter, FragmentStatePagerAdapter и FragmentTabHost, все эти 3 класса имеют соответствующие классы с одинаковыми именами в v4 и имеют одинаковое поведение.

    Дополнительные API, представленные в v13, не нужны.

    Таким образом, добавляя v4, вы можете поддерживать больше платформ, чем v13, с тем же поведением, что и v13, так почему бы просто не использовать v4?

    Поэтому я не видел необходимости в v13. Я прав?

    16.09.2014

    5

    v13 просто имеет функции о фрагменте. в основном, если ваш minVersion выше 13 и не используются такие функции, как: FragmentPagerAdapter, FragmentStatePagerAdapter, FragmentTabHost и вложенные фрагменты; вам не нужна поддержка v13.

    поэтому «v4 является подмножеством v13» неверно!

    12.05.2014

    6

    Немного поздно, но, пожалуйста, внимательно посмотрите на картинку ниже. В файле JAR android-support-v13.jar есть 3 пакета:

    • аннотация
    • v4
    • v13

    Это означает, что нам просто нужно добавить эту банку, и у нас будет поддержка как v4, так и v13. Поскольку v7 НЕ находится в компиляции, нам нужно будет добавить этот JAR самостоятельно.

    введите здесь описание изображения

    23.05.2015
    Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...