Поделиться через


Возможности Lollipop

В этой статье представлен общий обзор новых функций, появившихся в Android 5.0 (Lollipop). К ним относятся новый стиль пользовательского интерфейса под названием Material Theme, а также новые вспомогательные функции, такие как анимация, тени представлений и окраска прорисовываемых ресурсов. В Android 5.0 также включены улучшенные уведомления, два новых мини-приложения пользовательского интерфейса, новый планировщик заданий и несколько новых интерфейсов API для улучшения функций хранилища, сети, подключений и мультимедиа.

Обзор Lollipop

В Android 5.0 (Lollipop) представлен новый язык проектирования, Material Design, а также ряд совместимых с ним функций, упрощающих использование приложения и делающих работу с ними интуитивно понятной. Благодаря Material Design платформа Android 5.0 не только улучшает оформление системы на телефонах Android, но обеспечивает новый набор правил проектирования для планшетов, компьютеров, часов и устройств Smart TV под управлением Android. Эти правила проектирования придают особое значение простоте и минимализму, а также применению осязаемых атрибутов (например, реалистичной поверхности и граничных меток), чтобы помочь пользователям быстро и интуитивно освоить интерфейс.

Material Theme воплощает в себе эти принципы проектирования пользовательского интерфейса в Android. Данная статья начинается с описания вспомогательных функций Material Theme.

  • Анимациианимации сенсорной обратной связи, анимации перехода действий, анимации перехода состояния и эффект отображения.

  • Просмотр теней и высот — представления теперь имеют elevation свойство; представления с более elevation высокими значениями приведение более крупных теней на фоновом фоне.

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

Многие функции Material Theme уже встроены в пользовательский интерфейс Android 5.0, но некоторые из них нужно явно добавлять в приложения. Например, некоторые стандартные представления (например, кнопки) уже оснащены анимацией реакции на касание, тогда как тени для большинства представлений в приложениях нужно включать отдельно.

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

  • Расширенные уведомления — уведомления в Android 5.0 были значительно обновлены с новым видом, поддержкой уведомлений на экране блокировки и новым форматом презентации уведомлений "Головы".

  • Новые мини-приложения пользовательского интерфейса— новое RecyclerView мини-приложение упрощает передачу больших наборов данных и сложных сведений, а новое CardView мини-приложение предоставляет упрощенный формат презентации карта для отображения текста и изображений.

  • Новые API — Android 5.0 добавляет новые API для поддержки нескольких сетей, улучшено подключение Bluetooth, упрощенное управление хранилищем и более гибкий контроль над мультимедийными проигрывателями и устройствами камеры. Доступна новая функция планирования заданий для асинхронного выполнения задач в запланированное время. Эта функция помогает повысить время работы аккумулятора, например, за счет планирования выполнения задач на периоды, когда устройство подключено к сети электропитания и заряжается.

Требования

Для использования новых возможностей Android 5.0 в приложениях Xamarin требуется следующее:

  • Xamarin.Android — Xamarin.Android 4.20 или более поздней версии необходимо установить и настроить с помощью Visual Studio или Visual Studio для Mac.

  • Пакет SDK для Android — Android 5.0 (API 21) или более поздней версии должен быть установлен с помощью диспетчера пакетов SDK для Android.

  • Пакет разработчика Java — Xamarin.Android требует JDK 1.8 или более поздней версии, если вы разрабатываете для уровня API 24 или более поздней версии (JDK 1.8 также поддерживает уровни API выше 24, включая Lollipop). 64-разрядная версия JDK 1.8 необходима, если используются пользовательские элементы управления или средство предварительного просмотра Forms.

При разработке специально для уровня API 23 или ниже можно продолжать использовать пакет JDK 1.7.

Настройка проекта Android 5.0

Чтобы создать проект Android 5.0, необходимо установить последние версии инструментов и пакетов SDK. Чтобы настроить проект Xamarin.Android, нацеленный на Android 5.0, выполните следующие действия.

  1. Установите инструменты Xamarin.Android и активируйте свою лицензию Xamarin. Дополнительные сведения об установке Xamarin.Android см. в разделе Настройка и установка.

  2. Если вы используете Visual Studio для Mac, установите последние обновления для Android 5.0.

  3. Запустите диспетчер пакетов SDK Для Android (в Visual Studio для Mac используйте средства > Open Android SDK Manager...) и установите средства android SDK 23.0.5 или более поздней версии:

    Selecting Android SDK tools in the Android SDK Manager

    Установите также последние пакеты SDK для Android 5.0 (уровень API 21 и выше).

    Installing Android 5.0 SDK packages in the Android SDK Manager

    Дополнительные сведения об использовании Диспетчера SDK Android см. в разделе Update the IDE and SDK Tools (Обновление инструментов интегрированной среды разработки и пакетов SDK).

  4. Создание проекта Xamarin.Android Если ранее вы не разрабатывали приложения Android с использованием Xamarin, ознакомьтесь с этим руководством, чтобы узнать о создании проектов Android. При создании проекта Android необходимо настроить параметры версии для Android 5.0. В Visual Studio для Mac выберите Параметры проекта > Сборка > Общие и в качестве целевой платформы выберите Android 5.0 (Lollipop) или более поздней версии.

    Setting the Target Framwework to Android 5.0 Lollipop

    В разделе Параметры проекта > Сборка > Приложение Android в качестве минимальной и целевой версии Android выберите Автоматически — использовать версию целевой платформы.

    Setting the Minimum and Target Android versions to Automatic

  5. Настройте эмулятор или устройство Android для тестирования приложения. Если вы используете эмулятор, ознакомьтесь с разделом Настройка эмулятора Android, чтобы узнать, как настроить Android Emulator для работы с Xamarin Studio или Visual Studio. Если вы используете устройство Android, ознакомьтесь с разделом Set up the Android 11 SDK (Настройка пакета SDK для Android 11), чтобы узнать, как обновить устройство для использования Android 5.0. Сведения о настройке устройства Android для запуска и отладки приложений Xamarin.Android см. в статье Настройка устройства для разработки.

Примечание. Если вы обновляете существующий проект Android, предназначенный для Android L Preview, необходимо изменить значения полей Целевая платформа и Версия Android на указанные выше.

Важные изменения

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

Среда выполнения Android

В Android 5.0 по умолчанию используется новая среда выполнения Android (ART) вместо Dalvik. В ART реализовано несколько важных новых функций.

  • Предварительной компиляции (AOT) — AOT может повысить производительность приложения, скомпилируя код приложения перед первым запуском приложения. При установке приложения ART создает скомпилированный исполняемый файл приложения для целевого устройства.

  • Улучшенная сборка мусора (GC) — улучшения GC в ART также могут повысить производительность приложения. Теперь для сборки мусора используется одна приостановка GC, а не две, а параллельные операции GC выполняются более своевременно.

  • Улучшенная отладка приложений — ART предоставляет дополнительные диагностические сведения для анализа исключений и отчетов о сбоях.

Существующие приложения должны работать без изменений в art, за исключением приложений, которые используют методы, уникальные для предыдущей среды выполнения Dalvik, которая может не работать в art. Дополнительные сведения об этих изменениях см. в разделе Verifying app behavior on the Android runtime (ART) (Проверка поведения приложений в среде выполнения Android (ART)).

Изменения уведомлений

В Android 5.0 значительно изменились уведомления.

  • Звуки и вибрации обрабатываются по-разному : звуки и вибрации уведомлений теперь обрабатываются Notification.Builder вместо Ringtone, MediaPlayerи Vibrator.

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

  • Уведомления на экране блокировки— уведомления теперь могут отображаться на экране блокировки устройства.

  • Головы — уведомления с высоким приоритетом теперь отображаются в небольшом плавающем окне (уведомление "Головы" при разблокировке устройства и включен экран.

В большинстве случаев перенос существующих функций управления уведомлениями в приложениях в Android 5.0 требует выполнения следующих действий.

  1. Преобразуйте код, чтобы использовать Notification.Builder (или NotificationsCompat.Builder) для создания уведомлений.

  2. Убедитесь, что существующие ресурсы уведомлений отображаются в новой цветовой схеме Material Theme.

  3. Выберите параметры видимости уведомлений на экране блокировки. Если уведомление не является общим, какое содержимое должно отображаться на экране блокировки?

  4. Настройте категорию уведомлений таким образом, чтобы они правильно обрабатывались в новом режиме Android 5.0 Не беспокоить.

Если уведомления представляют элементы управления транспортом, отображают состояние воспроизведения мультимедиа, используйте RemoteControlClientили вызов ActivityManager.GetRecentTasks.

Дополнительные сведения о создании уведомлений см. в разделе Локальные уведомления.

Material Theme

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

Screenshots of Material Theme Home Screen, Apps Screen, and Setting Screen

Android 5.0 приветствует домашним экраном, отображаемым слева. На центральном снимке экрана показан список приложений, а на снимке экрана справа — экран Параметры. Спецификация Material Design Google описывает базовые правила проектирования, основанные на новых принципах Material Theme.

Material Theme включает в себя три встроенных варианта приложения, которые можно использовать: темная тема (по умолчанию) Theme.Material, тема Theme.Material.Light и тема Theme.Material.Light.DarkActionBar.

Screenshots of Dark, Light, and DarkActionBar themes

Дополнительные сведения об использовании возможностей Material Theme в приложениях Xamarin.Android см. в разделе Material Theme.

Анимации

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

Анимация реакции на касание

Анимация реакции на касание позволяет показать пользователям реакцию на касание представления. Например, кнопки теперь отображают эффект волны при касании — это анимация обратной связи по умолчанию в Android 5.0. Анимация ряби реализуется новым классом RippleDrawable. Эффект ряби можно настроить так, чтобы он отображался в пределах представления или выходил за его границы. Например, на следующей последовательности снимков экрана показан эффект ряби на кнопке во время анимации касания.

Frame by frame screenshots of ripple animation on a button

Начальное касание кнопки показано на первом изображении слева, а на остальных изображениях в последовательности (слева направо) показывается, как эффект ряби распространяется за края кнопки. Когда анимация ряди завершается, представление возвращается к исходному виду. Анимация ряби по умолчанию длится доли секунды, но ее продолжительность можно настроить, увеличив или сократив.

Дополнительные сведения об анимации реакции на касание в Android 5.0 см. в разделе Customize Touch Feedback (Настройка анимации реакции на касание).

Анимация перехода действий

Анимация перехода действий дает пользователям ощущение визуальной непрерывности при переходе одного действия в другое. В приложениях можно указать три типа анимации перехода.

  • Введите переход — когда действие входит в сцену.

  • Переход выхода— когда действие выходит из сцены.

  • Переход общего элемента— если представление, которое является общим для двух действий, изменяется при переходе первого действия к следующему.

Например, на следующей последовательности снимков экрана показан переход с общим элементом.

Frame by frame screenshots of a shared element transition animation

Общий элемент (фотография гусеницы) является одним из нескольких представлений в первом действии. Фотография увеличивается и становится единственным представлением во втором действии, когда первое действие переходит во второе.

Типы анимации начального перехода

В Android 5.0 доступны три типа анимации начального перехода.

  • Взрыв анимации — увеличивает представление с центра сцены.

  • Анимация слайдов — перемещает представление из одного из краев сцены.

  • Анимация fade — исчезает представление в сцене.

Типы анимации конечного перехода

В Android 5.0 доступны три типа анимации конечного перехода.

  • Анимация взрыва — сжимает представление до центра сцены.

  • Анимация слайдов — перемещает представление на один из краев сцены.

  • Анимация fade — исчезает представление из сцены.

Типы анимации перехода с общим элементом

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

  • изменение макета или обрезка границ представления;

  • изменение масштаба и вращение представления;

  • изменение размера и типа масштабирования представления.

Дополнительные сведения об анимации переходов действий в Android 5.0 см. в разделе Customize Activity Transitions (Настройка переходов действий).

Анимация изменения состояния просмотра

Android 5.0 делает возможным анимацию изменения состояния просмотра. Можно анимировать изменение состояния просмотра, используя один из следующих методов.

  • Создайте прорисовываемые ресурсы, чтобы анимировать изменения состояния, связанные с конкретным представлением. Новый класс AnimatedStateListDrawable позволяет создавать прорисовываемые ресурсы, которые отображают анимацию изменения состояния просмотра.

  • Определите функции анимации при изменении состояния просмотра. Новый класс StateListAnimator позволяет определить аниматор, который выполняется при изменении состояния просмотра.

Дополнительные сведения об анимации изменения состояния просмотра в Android 5.0 см. в разделе Animate View State Changes (Анимация изменения состояния просмотра).

Эффект раскрытия

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

Frame by frame screenshots of reveal animation

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

Frame by frame screenshots of clipping animation

Анимацию раскрытия можно выполнить наоборот. Это значит, что круг обрезки можно сжать, чтобы скрыть представление, а не увеличить, чтобы его отобразить.

Дополнительные сведения об эффекте раскрытия в Android 5.0 см. в разделе Use the Reveal Effect (Использование эффекта раскрытия).

Неравномерное движение

Помимо описанных выше функций анимации, Android 5.0 также предоставляет новые интерфейсы API, позволяющие задавать время и кривые движения для анимации. Android 5.0 использует эти кривые для интерполяции времени и пространственного перемещения во время анимации. В Android 5.0 определены три кривые.

  • Fast_out_linear_in — ускоряется и продолжает ускоряться до конца анимации.

  • Fast_out_slow_in — ускоряется быстро и медленно снижается в конце анимации.

  • Linear_out_slow_in — начинается с пиковой скорости и медленно снижается до конца анимации.

Вы можете использовать новый класс PathInterpolator, чтобы задать интерполяцию движения. PathInterpolator — это интерполятор, который проходит траектории анимации в соответствии с заданными контрольными точками и кривыми движения. Дополнительные сведения об указании параметров неравномерного движения в Android 5.0 см. в разделе Use Curved Motion (Использование неравномерного движения).

Тени и возвышение представлений

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

В следующем примере показаны тени, отбрасываемые пустым элементом управления TextView, когда его атрибут возвышения имеет значение 2DP, 4dp и 6DP соответственно.

Screenshots of progessively larger view shadows

Параметры теней представления могут быть статическими (как показано выше) или использоваться в анимации, чтобы представление временно приподнималось над фоном. Для анимации возвышения представления можно использовать класс ViewPropertyAnimator. Повышение представления определяется параметром макета elevation и свойством translationZ, которое можно задать с помощью вызова метода ViewPropertyAnimator.

Дополнительные сведения о тенях представлений в Android 5.0 см. в разделе Defining Shadows and Clipping Views (Определение теней и обрезка представлений).

Функции управления цветом

Android 5.0 предоставляет две новые функции для управления цветом в приложениях.

  • Окраска прорисовываемых ресурсов позволяет изменять цвета ресурсов изображения путем изменения атрибута макета.

  • Определение преобладающих цветов позволяет динамически настраивать цветовую тему приложения в соответствии с цветовой палитрой отображаемого изображения.

Окраска прорисовываемых ресурсов

Макеты Android 5.0 распознают новый атрибут tint, который можно использовать для задания цвета прорисовываемых ресурсов без необходимости создания нескольких версий этих ресурсов для отображения в различном цвете. Чтобы использовать эту функцию, необходимо определить растровое изображение в качестве альфа-маски и указать атрибут tint для определения цвета ресурса. Это позволяет один раз создать ресурсы и раскрасить их в своем макете в соответствии с установленной темой.

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

White Xamarin logo with transparent background

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

Examples of the above logo with different tint settings

Дополнительные сведения об окраске в Android 5.0 см. в разделе Drawable Tinting (Окраска прорисовываемых ресурсов).

Определение преобладающих цветов

Новый класс Palette в Android 5.0 позволяет извлекать цвета из изображения, чтобы их можно было динамически применять к пользовательской цветовой палитре. Класс Palette извлекает шесть цветов из изображения и помечает их в соответствии с их относительными уровнями насыщенности и яркости:

  • насыщенный;

  • насыщенный темный;

  • насыщенный светлый;

  • приглушенный;

  • приглушенный темный;

  • приглушенный светлый.

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

Screenshots of green, pink, and blue theme color extractions

На приведенных выше снимках экрана для панели действий задается определенный "насыщенный светлый" цвет, а для фона — определенный "насыщенный темный" цвет. В каждом из приведенных выше примеров для демонстрации цветов палитры, извлеченных из изображения, показана строка небольших цветных квадратов.

Дополнительные сведения об определении цветов в Android 5.0 см. в разделе Extracting Prominent Colors from an Image (Определение преобладающих цветов на изображении).

Новые мини-приложения пользовательского интерфейса

В Android 5.0 появились два новых мини-приложения пользовательского интерфейса.

  • RecyclerView — группа представлений, отображающая список прокручиваемых элементов.

  • CardView — базовый макет с округленными углами.

Оба мини-приложения включают в себя поддержку функций темы Material Theme. Например, RecyclerView использует анимацию для добавления и удаления представлений, а CardView использует тени представлений для того, чтобы каждая карта отображалась над фоном. Примеры этих новых мини-приложений показаны на следующих снимках экрана.

Screenshots of apps built with RecyclerView

На снимке экрана слева показан пример использования RecyclerView в приложении электронной почты, а на снимке экрана справа — пример использования CardView в приложении для подачи заявок на командировку.

RecyclerView

RecyclerView аналогичен ListView,, но лучше подходит для больших наборов представлений или списков с динамически изменяемыми элементами. Как и для ListView,, следует указать адаптер для доступа к базовому набору данных. Однако в отличие от ListView,, для размещения элементов внутри RecyclerView используется диспетчер макетов. Диспетчер макетов также отвечает за перезапуск представления. Он управляет повторным использованием элементов представлений, которые больше не видны пользователю.

При использовании мини-приложения RecyclerView необходимо указать LayoutManager и адаптер. Как показано на этом рисунке, LayoutManager является посредником между адаптером и RecyclerView.

Diagram of RecyclerView with supporting LayoutManager, Adapter, and Dataset

На следующих снимках экрана показан RecyclerView, содержащий 100 элементов (каждый элемент состоит из ImageView и TextView).

Screenshots of a RecyclerView app scrolling through images

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

Frame by frame screenshot of a photo item fading in

Дополнительные сведения о RecyclerView см. в разделе RecyclerView.

CardView

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

Example screenshots of apps using RecyclerView with CardView-based items

Каждая из карт в приведенном выше примере содержит TextView. Цвет фона задается с помощью атрибута cardBackgroundColor.

Дополнительные сведения о CardView см. в разделе CardView.

Улучшенные уведомления

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

Example of an Android 5.0 notification un-expanded

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

В Android 5.0 уведомления также могут отображаться на экране блокировки устройства. Например, ниже приведен пример снимка экрана блокировки с одним уведомлением.

Screenshot of notification appearing on the lock screen

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

В Android 5.0 появился новый формат представления высокоприоритетных уведомлений, который называется Heads-up. HUD-уведомления разворачиваются из верхней части экрана на несколько секунд, а затем сворачиваются обратно в область уведомлений вверху. HUD-уведомления позволяют пользовательскому интерфейсу системы отобразить важную информацию для пользователя, не мешая выполнению текущего действия. В следующем примере показано простое HUD-уведомление, отображаемое поверх приложения.

Example of a heads-up notification

HUD-уведомления обычно используются для следующих событий:

  • новое сообщение;

  • входящий телефонный звонок;

  • низкий заряд аккумулятора;

  • сигнал будильника.

Android 5.0 отображает HUD-уведомление только в том случае, если для него задан высокий или максимальный приоритет.

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

Дополнительные сведения о создании и запуске уведомлений с помощью новых функций Android 5.0 см. в разделе Локальные уведомления.

Новые интерфейсы API

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

Камера

Android 5.0 предоставляет несколько новых интерфейсов API для улучшенных возможностей камеры. Новое пространство имен Android.Hardware.Camera2 включает в себя функции для доступа к отдельным устройствам камеры, подключенным к устройству Android. Кроме того, Android.Hardware.Camera2 моделирует каждое устройство камеры как конвейер: он принимает запрос на запись, записывает изображение, а затем выводит результат. Такой подход позволяет приложениям поставить в очередь несколько запросов на запись, отправленных на устройство камеры.

Для реализации этих возможностей служба приведенные ниже API.

  • CameraManager.GetCameraIdList — помогает программным способом получить доступ к устройствам камеры; вы используете CameraManager.OpenCamera для подключения к определенному устройству камеры.

  • CameraCaptureSession — записывает или передает изображения с устройства камеры. Для управления новыми событиями записи изображения следует реализовать интерфейс CameraCaptureSession.CaptureListener.

  • CaptureRequest — определяет параметры записи.

  • CaptureResult — предоставляет результаты операции захвата изображений.

Дополнительные сведения о новых API камеры в Android 5.0 см. в разделе Media (Мультимедиа).

Воспроизведение звука

В Android 5.0 обновлен класс AudioTrack для улучшения воспроизведения звука.

  • ENCODING_PCM_FLOAT — настраивает AudioTrack прием звуковых данных в формате с плавающей запятой для лучшего динамического диапазона, более высокого качества и более высокого качества (благодаря повышенной точности). Кроме того, формат с плавающей запятой помогает избежать обрезки звука.

  • ByteBuffer — Теперь вы можете предоставить звуковые данные AudioTrack в виде массива байтов.

  • WRITE_NON_BLOCKING — этот параметр упрощает буферизацию и многопоточность для некоторых приложений.

Дополнительные сведения об улучшениях AudioTrack в Android 5.0 см. в разделе Media (Мультимедиа).

Управление воспроизведением мультимедиа

В Android 5.0 появился новый класс Android.Media.MediaController, который заменяет RemoteControlClient. Android.Media.MediaController предоставляет упрощенные API управления передачей и обеспечивает потокобезопасное управление воспроизведением вне контекста пользовательского интерфейса. Приведенные ниже новые интерфейсы API отвечают за управление передачей.

  • Android.Media.Session.MediaSession — сеанс управления мультимедиа, который обрабатывает несколько контроллеров. Чтобы запросить маркер, используемый приложением для взаимодействия с сеансом, необходимо вызвать MediaSession.GetSessionToken.

  • MediaController.TransportControls — обрабатывает такие команды транспорта, как воспроизведение, остановка и пропуск.

Кроме того, можно использовать новый класс Android.App.Notification.MediaStyle, чтобы связать сеанс мультимедиа с содержимым расширенного уведомления (например, для получения и отображения обложки альбома).

Дополнительные сведения о новых функциях управления воспроизведением мультимедиа в Android 5.0 см. в разделе Media (Мультимедиа).

Хранилище

В Android 5.0 обновлена платформа доступа к хранилищу, чтобы упростить работу приложений с каталогами и документами.

  • Чтобы выбрать поддерево каталога, можно создать и отправить намерение Android.Intent.Action.OPEN_DOCUMENT_TREE. Это намерение укажет системе отобразить все экземпляры поставщиков, поддерживающих выбор поддерева. Затем пользователь может найти и выбрать каталог.

  • Чтобы создавать и управлять новыми документами или каталогами в любом месте поддеревом, используйте новые CreateDocumentRenameDocumentи DeleteDocument методыDocumentsContract.

  • Чтобы получить пути к каталогам мультимедиа на всех общих устройствах хранения, следует вызвать новый метод Android.Content.Context.GetExternalMediaDirs.

Дополнительные сведения о новых API хранилища в Android 5.0 см. в разделе Storage (Хранилище).

Беспроводная связь и сетевые подключения

В Android 5.0 добавлены перечисленные ниже улучшения API для беспроводной связи и сетевых подключений.

  • Новые многосетевые API, позволяющие приложениям находить и выбирать сети с определенными возможностями перед подключением.

  • Функция трансляции Bluetooth, позволяющая устройству Android 5.0 выступать в роли периферийного устройства Bluetooth с низким энергопотреблением.

  • Улучшения NFC, упрощающие использование функций связи ближнего действия для обмена данными с другими устройствами. .

Планирование заданий

В Android 5.0 появился новый API JobScheduler, который помогает пользователям снизить нагрузку на аккумулятор, позволяя планировать выполнение определенных задач только на периоды, когда устройство подключено к сети электропитания и заряжается. Эту функцию планировщика заданий можно также использовать, чтобы запланировать выполнение задачи, когда условия больше подходят для этой задачи. Например, скачивать большой файл целесообразнее, когда устройство подключено к сети Wi-Fi, а не к лимитной сети.

Дополнительные сведения о новых API планирования заданий в Android 5.0 см. в разделе Scheduling Jobs (Планирование заданий).

Итоги

В этой статье приводятся общие сведения о важных новых возможностях Android 5.0 для разработчиков приложений Xamarin.Android:

  • Material Theme

  • Анимации

  • тени и возвышение представлений;

  • функции управления цветом, такие как окраска прорисовываемых ресурсов и определение преобладающих цветов;

  • новые мини-приложения RecyclerView и CardView;

  • усовершенствования уведомлений;

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

Если вы не знакомы с разработкой для Xamarin.Android, прочитайте раздел Настройка и установка, чтобы приступить к работе с Xamarin.Android. Привет, Android — это отличное введение в процесс создания проектов Android.