1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/AWeiLoveAndroid-The-pit-of-the-Android-Studio

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Android支持库详解.md 37 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 23:49 68fea2d

Поддержка библиотек Android

Поддержка библиотек Android предоставляет множество функций, которые не встроены в фреймворк. Эти библиотеки предоставляют новые функции для обратной совместимости версий, элементы пользовательского интерфейса (UI), которые не включены во фреймворк, и ряд полезных программ, которыми может воспользоваться приложение.

Глава 1. Обзор

Во многих случаях определённая функция может быть полезна разработчику приложения, но её добавление во фреймворк может оказаться неуместным. Например, приложение может нуждаться только в определённой функции для конкретного случая использования, например, для плавного переключения между различными версиями Android.

Чтобы решить эту проблему, Android SDK включает несколько библиотек, известных как поддержка библиотек Android. Если разработчик приложения хочет интегрировать функции библиотеки в своё приложение, он может добавить любую из этих библиотек.

Поддержка библиотек предоставляет различные функции:

  • Обратную совместимость с компонентами фреймворка.
  • Элементы пользовательского интерфейса для реализации рекомендуемых шаблонов дизайна Android.
  • Поддержку различных типов устройств.
  • Другие полезные программы.

(1) Обратная совместимость

Поддержка библиотек позволяет приложениям, работающим на старых версиях платформы Android, поддерживать функции, представленные в новых версиях. Например, если приложение зависит от классов фреймворка версии 5.0 (API уровня 21) или ниже, оно не сможет отображать элементы Material Design, поскольку эта версия фреймворка не поддерживает Material Design. Однако, если это приложение добавляет библиотеку поддержки appcompat, оно может получить доступ ко многим функциям, доступным в API уровня 21, включая поддержку Material Design. Таким образом, ваше приложение может обеспечить более согласованный опыт работы на нескольких версиях платформы.

В некоторых случаях функциональность библиотеки поддержки во многом зависит от того, что предоставляет фреймворк. Поэтому, если приложение вызывает метод класса поддержки, поведение библиотеки будет зависеть от версии Android, на которой работает приложение. Если фреймворк предоставляет необходимую функцию, библиотека поддержки будет выполнять задачу, вызывая фреймворк. Если приложение работает на старой версии Android и фреймворк не показывает требуемую функцию, сама библиотека поддержки может попытаться предоставить функцию или ничего не делать. В любом случае, обычно приложению не нужно проверять, на какой версии Android оно работает, а библиотека поддержки выполняет проверку и выбирает соответствующее поведение. Обычно классы, оканчивающиеся на …Compat, такие как ActivityCompat, ведут себя таким образом.

С другой стороны, некоторые классы поддержки библиотек предоставляют полную и независимую версию класса фреймворка, которая не зависит от доступности каких-либо API фреймворка. Эти методы могут обеспечивать согласованное поведение на всех поддерживаемых платформах.

Независимо от ситуации, приложению не требуется проверять версию системы во время выполнения. Приложение может использовать класс поддержки библиотеки для выполнения соответствующей проверки системы и изменения своего поведения при необходимости.

(2) Поддержка общих шаблонов проектирования

Поддержка библиотек предлагает элементы пользовательского интерфейса, которых нет во фреймворке Android. Например, поддержка библиотек Android предлагает другие классы макетов, такие как DrawerLayout. Эти классы следуют рекомендуемым практикам проектирования Android; например, они следуют принципам Material Design в стиле, подходящем для нескольких версий Android.

Используя эти классы поддержки библиотек, вы можете избежать выполнения повторяющихся задач; если у вашего приложения есть особые требования к пользовательскому интерфейсу, вы можете использовать существующий код, который предоставит пользовательский интерфейс, уже знакомый пользователям. Эти элементы также могут помочь вам разработать приложение, которое выглядит как часть экосистемы Android. Например, многие приложения должны отображать длинные списки элементов и должны иметь возможность быстро и эффективно повторно использовать эти элементы при изменении списка; это могут быть списки электронных писем, списки контактов или музыкальные плейлисты и т. д. Эти приложения могут использовать компонент RecyclerView поддержки библиотеки для отображения списков. Это позволяет разработчикам приложений не создавать список с нуля и обеспечивает пользователям внешний вид и поведение, аналогичные спискам в других приложениях.

(3) Поддержка различных типов устройств

Android SDK предоставляет библиотеки поддержки для различных типов устройств, таких как телевизоры и носимые устройства. Приложения могут предоставлять функции для различных версий платформ и могут предоставлять контент на внешних экранах, динамиках и других целевых устройствах.

(4) Общие утилиты

Библиотеки поддержки Android предоставляют утилиты обратной совместимости. Приложения могут использовать эти утилиты для предоставления соответствующего опыта работы с различными версиями системы Android. Например, способ обработки разрешений библиотекой поддержки зависит от версии платформы, на которой запущено приложение. Если платформа поддерживает режим разрешений во время выполнения, эти методы будут запрашивать соответствующие разрешения у пользователя; в версиях платформы, которые не поддерживают режим разрешений во время выполнения, эти методы проверят, были ли получены соответствующие разрешения во время установки.

Глава 2. Настройка

Способ настройки библиотек поддержки в проекте разработки зависит от желаемых функций и диапазона версий платформы Android, которые вы хотите поддерживать. Этот раздел поможет вам загрузить файлы поддержки и добавить библиотеки в среду разработки.

(1) Загрузка библиотек поддержки

Файлы поддержки библиотек доступны в качестве вспомогательного компонента Android SDK и могут быть загружены с помощью диспетчера SDK. Следуйте инструкциям ниже, чтобы получить файлы поддержки.

Для загрузки файлов поддержки с помощью диспетчера SDK выполните следующие действия:

  1. Запустите диспетчер SDK для Android.
  2. В окне диспетчера SDK прокрутите вниз до раздела Packages и разверните его (если необходимо), чтобы отобразить его содержимое.
  3. Выберите элемент Android Support Repository.
  4. Нажмите кнопку Install packages...

После загрузки этот инструмент установит файлы поддержки в существующий каталог Android SDK. Файлы поддержки находятся в следующих подкаталогах каталога SDK:

<sdk корневой каталог>/extras/android/m2repository/com/android/support/ каталог

(2) Выбор библиотек поддержки

Прежде чем добавлять библиотеки поддержки в приложение, определите желаемые функции и минимальную версию Android, которую вы хотите поддерживать. Для получения подробной информации о функциях, предоставляемых различными библиотеками, см. Глава 3 Функции.

(3) Добавление библиотек поддержки

Чтобы использовать библиотеки поддержки, вы должны изменить путь к классам зависимостей в среде разработки для каждого приложения, которое вы хотите использовать.

Чтобы добавить библиотеки поддержки в проект приложения, выполните следующие действия:

  1. Убедитесь, что вы загрузили репозиторий поддержки Android с помощью SDK Manager.
  2. Откройте файл build.gradle приложения.
  3. Добавьте библиотеки поддержки в раздел dependencies. Например, чтобы добавить библиотеку v4 core-utils, добавьте следующую строку:
dependencies {
...
compile "com.android.support:support-core-utils:24.2.0"
}

Обратите внимание: использование динамических зависимостей (например, palette-v7:24.+), скорее всего, приведёт к неожиданным обновлениям версий и проблемам несовместимости при возврате. Мы рекомендуем явно указывать версию библиотеки (например, palette-v7:24.2.0).

(4) Использование API библиотек поддержки

Классы поддержки библиотек с поддержкой фреймворка обычно имеют те же имена, что и классы фреймворка, но первые находятся в пакете android.support или имеют суффикс *Compat.

При использовании классов из библиотек поддержки убедитесь, что вы импортируете классы из соответствующих пакетов. Например, при использовании класса ActionBar:

  • При использовании библиотеки поддержки используйте android.support.v7.app.ActionBar.
  • Только для разработки для API уровня 11 или выше используйте android.app.ActionBar.

Обратите внимание: после добавления библиотек поддержки в проект приложения мы настоятельно рекомендуем использовать инструмент ProGuard для сжатия кода и ресурсов для подготовки APK приложения к выпуску. Помимо защиты исходного кода, инструмент ProGuard также может удалять неиспользуемые классы из добавленных библиотек, уменьшая размер загружаемого приложения. Для получения дополнительной информации см. инструмент ProGuard.

Дополнительные инструкции по использованию определённых функций библиотек поддержки см. в курсах обучения и руководствах для разработчиков Android, а также в примерах. Для получения информации о конкретных классах и методах в библиотеках поддержки обратитесь к разделу android.support в справочнике по API. com.android.application

android {
    ...
    defaultConfig {
        minSdkVersion 16
        ...
    }
...
}

В этом случае конфигурация сборки будет информировать Google Play, что установленная версия вашего приложения может быть установлена на устройствах с версией Android 4.1 (API level 16) и выше. Для получения подробной информации о конфигурациях сборки см. Обзор системы сборки.

Примечание: Если вы добавляете несколько библиотек поддержки, то минимальная версия SDK должна быть не ниже, чем самая высокая версия, требуемая любой из указанных библиотек. Например, если ваше приложение включает в себя библиотеку v14 Preference и библиотеку v17 Leanback, то минимальная версия SDK должна составлять 17 или выше.

Глава 3. Функции

Android поддерживает библиотеки программного обеспечения, которые можно добавить в приложение. Каждая библиотека поддерживает определённый диапазон версий платформы Android и функций.

Это руководство описывает важные функции и поддержку версий, предоставляемые каждой библиотекой поддержки, чтобы помочь вам решить, какие библиотеки поддержки следует добавить в ваше приложение. В общем, мы рекомендуем добавлять v4 Support Library и v7 AppCompat Library, поскольку они поддерживают широкий спектр версий Android и могут предоставить API для рекомендуемых режимов пользовательского интерфейса.

Чтобы использовать любую из этих библиотек, необходимо загрузить файлы библиотеки в папку установки Android SDK. Следуйте инструкциям по загрузке библиотек поддержки в разделе «Настройка библиотек поддержки». Чтобы добавить конкретную библиотеку поддержки в своё приложение, вам также необходимо выполнить дополнительные шаги. Важная информация о том, как добавить библиотеки поддержки в приложение, приведена в конце каждого раздела о библиотеках.

3.1 v4 Support Library

Эти библиотеки предназначены для использования с Android 2.3 (API Level 9) и более поздними версиями. По сравнению с другими библиотеками поддержки, они содержат самый большой набор API, включая поддержку компонентов приложения, функций пользовательского интерфейса, вспомогательных функций, обработки данных, сетевых подключений и инструментов программирования.

Для получения полной информации о классах и методах, предоставляемых библиотекой v4, обратитесь к пакету android.support.v4 в справочнике API.

Примечание: До версии Support Library 24.2.0 существовала только одна библиотека v4. Чтобы повысить эффективность, эта библиотека была разделена на несколько модулей. Из соображений обратной совместимости, если вы указали support-v4 в своём скрипте Gradle, ваш APK будет содержать все модули v4. Однако, чтобы уменьшить размер APK, рекомендуется указывать только те модули, которые нужны вашему приложению.

v4 compat Library

Предоставляет оболочки совместимости для многих фреймворков API, таких как Context.obtainDrawable() и View.performAccessibilityAction().

Зависимость Gradle для этого модуля:

com.android.support:support-compat:24.2.0

v4 core-utils Library

Содержит множество служебных классов, таких как AsyncTaskLoader и PermissionChecker.

Зависимость Gradle для этого модуля:

com.android.support:support-core-utils:24.2.0

v4 core-ui Library

Реализует различные компоненты пользовательского интерфейса, такие как ViewPager, NestedScrollView и ExploreByTouchHelper.

Зависимость Gradle для этого модуля:

com.android.support:support-core-ui:24.2.0

v4 media-compat Library

Переносит часть медиа-фреймворка, включая MediaBrowser и MediaSession.

Зависимость Gradle для этого модуля:

com.android.support:support-media-compat:24.2.0

v4 fragment Library

Добавляет поддержку использования фрагментов для инкапсуляции пользовательского интерфейса и функциональности приложения, позволяя приложению адаптироваться к устройствам с большими и маленькими экранами. Этот модуль зависит от compat, core-utils, core-ui и media-compat.

Зависимость Gradle для этого модуля:

com.android.support:support-fragment:24.2.0

3.2 Dalvik Executable (DEX) Splitting Support Library

Эта библиотека может поддерживать разработку приложений, использующих несколько файлов Dalvik Executable (DEX). Приложения, использующие более 65 536 методов, должны использовать конфигурацию Dalvik Executable Splitting. Для получения дополнительной информации об использовании Dalvik Executable Splitting см. раздел Разработка приложений с использованием более 64 КБ методов.

Зависимость Gradle для этого модуля:

com.android.support:multidex:1.0.0

3.3 v7 Support Libraries

Некоторые библиотеки предназначены для работы с Android 2.3 (уровень API 9) и более новыми версиями. Эти библиотеки предоставляют определённые наборы функций и могут быть добавлены в приложение отдельно, без влияния на другие библиотеки.

v7 appcompat Library

Эта библиотека добавляет поддержку пользовательского интерфейса панели действий Material Design. Эта библиотека зависит от библиотеки v4 support.

Примечание: Эта библиотека зависит от v4 support library.

Вот некоторые ключевые классы, содержащиеся в библиотеке v7 appcompat:

  • ActionBar — предоставляет реализацию пользовательского интерфейса панели действий. Для получения информации об использовании панели действий см. руководство по панели приложений. (добавлено в версии 23.0.0)
  • AppCompatActivity — добавляет класс активности приложения, который может служить основой для Activity, использующей реализацию панели действий в библиотеке поддержки. (добавлено в версии 24.2.0)
  • AppCompatDialog — добавляет класс диалога, который может использоваться в качестве основы для диалогов с темой AppCompat. (добавлено в версии 23.0.0)
  • ShareActionProvider — содержит поддержку стандартных операций обмена, таких как электронная почта или публикация в социальных сетях, которые могут быть добавлены на панель действий. (добавлено в версии 24.2.0)

Зависимость Gradle для этого модуля:

com.android.support:appcompat-v7:24.2.0

v7 cardview Library (добавлено в версии 24.2.0)

Эта библиотека добавляет поддержку компонента CardView. Поддержка библиотеки CardView позволяет отображать информацию на карточках, что обеспечивает единообразный внешний вид приложения. Эти карточки особенно полезны для реализации Material Design и широко используются в макетах телевизионных приложений.

Основной идентификатор зависимости скрипта сборки Gradle для этой библиотеки выглядит следующим образом:

com.android.support:cardview-v7:24.2.0

Библиотека GridLayout v7 (добавлена в версии 24.2.0)

После загрузки библиотеки поддержки Android можно добавить поддержку класса GridLayout, что позволит вам организовать элементы пользовательского интерфейса в виде сетки. Для получения подробной информации об API библиотеки GridLayout обратитесь к пакету android.support.v7.widget в справочнике по API.

Идентификатор зависимости скрипта сборки Gradle для этой библиотеки:

com.android.support:gridlayout-v7:24.2.0

Библиотека MediaRouter v7 (добавлена в версии 22.0.0)

Эта библиотека предоставляет классы MediaRouter, MediaRouteProvider и поддерживает Google Cast. В целом, используя API в библиотеке MediaRouter v7, вы можете управлять маршрутизацией медиаканалов и потоков от текущего устройства к внешним экранам, динамикам и другим целевым устройствам. API, предоставляемые библиотекой, могут использоваться для публикации специфичных для приложения провайдеров маршрутизации мультимедиа, обнаружения и выбора целевых устройств, а также проверки состояния мультимедиа и т. д. Для получения дополнительной информации об API MediaRouter v7 обратитесь к пакету android.support.v7.media в справочнике по API.

Зависимость скрипта сборки Gradle:

com.android.support:mediarouter-v7:24.2.0

API, добавленные в библиотеку MediaRouter v7 в поддержке r18, могут быть изменены в последующих версиях библиотеки поддержки. На данный момент рекомендуется использовать только те, которые связаны с Google Cast.

Библиотека Palette v7 (добавлена в версии 22.0.0)

Библиотека Palette v7 включает класс Palette, который позволяет извлекать доминирующие цвета из изображений. Например, музыкальное приложение может использовать объект Palette для извлечения основных цветов с обложки альбома, а затем использовать эти цвета для создания гармоничного заголовка песни.

Зависимость скрипта сборки Gradle:

com.android.support:palette-v7:24.2.0

Библиотека RecyclerView v7 (добавлена в версии 22.0.0)

В библиотеке RecyclerView добавлен класс RecyclerView. Этот класс может поддерживать виджеты RecyclerView, которые представляют собой представление, эффективно отображающее большие наборы данных через ограниченные окна данных.

Зависимость скрипта сборки Gradle:

com.android.support:recyclerview-v7:24.2.0

Библиотека Preference v7 (добавлена в версии 23.0.0)

Пакет Preference предоставляет API, поддерживающие добавление объектов предпочтений, таких как CheckBoxPreference и ListPreference, что упрощает изменение настроек пользователем.

Библиотека Preference v7 добавляет поддержку интерфейсов, таких как Preference.OnPreferenceChangeListener и Preference.OnPreferenceClickListener, и классов, таких как CheckBoxPreference и ListPreference.

Зависимость скрипта сборки Gradle:

com.android.support:preference-v7:24.2.0

3.4 Библиотека v8

Предназначена для использования с Android 2.3 (уровень API 9) и более поздними версиями. Эта библиотека предлагает определённый набор функций и может быть добавлена в приложение отдельно, не влияя на другие библиотеки.

  • Библиотека Renderscript v8*

Предназначена для использования с Android 2.3 (уровень API 9) и более поздними версиями. Добавляет поддержку вычислительного фреймворка RenderScript. Пакет android.support.v8.renderscript содержит эти API. Обратите внимание, что процесс добавления этих API в приложение отличается от процесса добавления других API библиотек поддержки. Для получения подробных сведений о том, как использовать эти API в приложении, см. руководство разработчика RenderScript. Текст запроса:

build-tools/$VERSION/renderscript/ 文件夹中。

Ниже приведён пример, который показывает свойства скрипта сборки Gradle для этой библиотеки:

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

Перевод текста на русский язык:

В папке build-tools/$VERSION/renderscript/.

Пример ниже демонстрирует свойства скрипта Gradle для данной библиотеки:

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
 }

Примечание: дальнейший текст не переведён, так как содержит фрагменты кода и ссылки. Поддержка компонентов и тем

Например:

Идентификатор зависимости Gradle для сборки скрипта этой библиотеки выглядит следующим образом: com.android.support:design:24.2.0

3.11. Библиотека поддержки пользовательских TabLayout

API, предоставляемый пакетом CustomTabs (https://developer.android.google.cn/reference/android/support/customtabs/package-summary.html), позволяет добавлять пользовательские TabLayout и управлять ими.

Библиотека поддержки пользовательских TabLayout добавляет поддержку различных классов, таких как CustomTabsService (https://developer.android.google.cn/reference/android/support/customtabs/CustomTabsService.html) и CustomTabsCallback (https://developer.android.google.cn/reference/android/support/customtabs/CustomTabsCallback.html).

Идентификатор зависимости Gradle для сборки скрипта этой библиотеки выглядит следующим образом: com.android.support:customtabs:24.2.0

3.12. Процентная библиотека поддержки

Процентная библиотека (https://developer.android.google.cn/reference/android/support/percent/package-summary.html) предоставляет API, который позволяет добавлять размеры на основе процентов и управлять ими.

Процентная поддержка библиотеки добавляет поддержку интерфейса PercentLayoutHelper.PercentLayoutParams (https://developer.android.google.cn/reference/android/support/percent/PercentLayoutHelper.PercentLayoutParams.html) и различных классов, таких как PercentFrameLayout (https://developer.android.google.cn/reference/android/support/percent/PercentFrameLayout.html) и PercentRelativeLayout (https://developer.android.google.cn/reference/android/support/percent/PercentRelativeLayout.html).

Идентификатор зависимости Gradle для сборки скрипта этой библиотеки выглядит следующим образом: com.android.support:percent:24.2.0

3.13. Библиотека рекомендаций для телевидения

Пакет рекомендаций (https://developer.android.google.cn/reference/android/support/app/recommendation/package-summary.html) предоставляет API для добавления рекомендаций по контенту в приложения, работающие на телевизионных устройствах.

В библиотеку рекомендаций добавлены аннотации, такие как ContentRecommendation.ContentMaturity (https://developer.android.google.cn/reference/android/support/app/recommendation/ContentRecommendation.ContentMaturity.html), и различные классы, такие как ContentRecommendation (https://developer.android.google.cn/reference/android/support/app/recommendation/ContentRecommendation.html) и RecommendationExtender (https://developer.android.google.cn/reference/android/support/app/recommendation/RecommendationExtender.html).

Идентификатор зависимости Gradle для сборки скрипта этой библиотеки выглядит следующим образом: com.android.support:recommendation:24.2.0

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/AWeiLoveAndroid-The-pit-of-the-Android-Studio.git
git@gitlife.ru:oschina-mirror/AWeiLoveAndroid-The-pit-of-the-Android-Studio.git
oschina-mirror
AWeiLoveAndroid-The-pit-of-the-Android-Studio
AWeiLoveAndroid-The-pit-of-the-Android-Studio
master