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

Эта статья поможет вам начать использовать Xamarin.Android при разработке приложений для Android 6.0 Marshmallow.

В этой статье представлен обзор новых возможностей Android 6.0 Marshmallow, описывается подготовка Xamarin.Android для разработки приложений Android Marshmallow и приводятся ссылки на примеры приложений, иллюстрирующие использование новых возможностей Android Marshmallow в приложениях Xamarin.Android.

Обзор

Android 6.0 Marshmallow — это следующий основной выпуск Android после Android Lollipop. Xamarin.Android поддерживает Android Marshmallow и включает в себя:

  • Привязки API 23/Android 6.0 — Android 6.0 добавляет множество новых API для новых функций, описанных ниже. Эти API доступны для приложений Xamarin.Android при целевом уровне API 23. Дополнительные сведения об API Android 6.0 см. здесь.

Главный имиджевый баннер с изображением планшета и телефонов с Marshmallow

Хотя главной целью выпуска Marshmallow являются "блеск и качество", он также предоставляет множество новых возможностей, представляющих интерес для разработчиков Xamarin.Android. Эти функции включают перечисленные ниже.

  • Разрешения среды выполнения. Это улучшение позволяет пользователям утверждать разрешения безопасности на основе регистра во время выполнения.

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

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

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

  • Взаимодействие с голосовой связью — этот новый API позволяет создавать функции голосовой связи в приложении.

  • Режим отображения 4K — в Android Marshmallow приложение может запросить разрешение дисплея 4K на оборудовании, поддерживающем его.

  • Новые функции аудио — начиная с Marshmallow, Android теперь поддерживает протокол MIDI. Также предоставляются новые классы для создания объектов записи и воспроизведения цифрового звука и предлагаются новые обработчики API для связывания аудиоуствройств и устройств ввода.

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

  • Android for Work — Marshmallow включает расширенные элементы управления для корпоративных устройств с одним пользователем. ОС поддерживает автоматическую установку и удаление приложений владельцем устройства, автоматическое принятие обновлений системы, улучшенное управление сертификатами, отслеживание использования данных, управление разрешениями и уведомления о состоянии работы.

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

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

Кроме того, многие основные обновления библиотеки Android выпущены в Android Marshmallow, и эти обновления предоставляют новые возможности как для Android Marshmallow, так и для более ранних версий Android. В этой статье объясняется, как приступить к созданию приложений Android Marshmallow, и содержатся общие сведения о новых возможностях Android 6.0.

Требования

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

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

  • Visual Studio для Mac или Visual Studio— если вы используете Visual Studio для Mac, требуется версия 5.9.7.22 или более поздней версии. Если вы используете Visual Studio, требуется версия 3.11.1537 или более поздняя версия средств Xamarin для Visual Studio.

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

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

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

Начало работы

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

  1. Установите последние обновления Xamarin через стабильный канал.

  2. Установите пакеты и средства Android 6.0 Marshmallow.

  3. Создайте проект Xamarin.Android, предназначенный для Android 6.0 Marshmallow (API уровня 23).

  4. Настройте Android Marshmallow в эмуляторе или устройстве.

В разделах ниже отдельно рассматривается каждый шаг.

Установка обновлений Xamarin

Чтобы обновить Xamarin с целью включения поддержки Android 6.0 Marshmallow, измените канал обновления на стабильный и установите все обновления. Дополнительные сведения об установке обновлений из канала см. здесь.

Установка пакета SDK для Android 6.0

Чтобы создать проект Xamarin.Android для Android Marshmallow, необходимо сначала использовать Диспетчер SDK Android, чтобы установить пакет SDK для Android 6.0.

  • Запустите диспетчер пакетов SDK Для Android (в Visual Studio для Mac, используйте диспетчер SDK средств>; в Visual Studio используйте >диспетчер sdk Android Для Android>) и установите последние средства android SDK:

    Выбор Android SDK Tools в Диспетчере SDK Android

  • Установите также последнюю версию пакетов SDK для Android 6.0:

    Выбор пакетов SDK Android 6.0 в Диспетчере SDK Android

Необходимо установить Android SDK Tools редакции 24.3.4 или более поздней. Дополнительные сведения об использовании Диспетчера SDK Android для установки пакета SDK для Android 6.0 см. здесь.

Запуск проекта Xamarin.Android

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

При создании проекта Android необходимо настроить параметры версии для целевой версии Android 6.0 Marshmallow. Чтобы создать проект для Marshmallow, необходимо настроить в нем API уровня 23 (поддержка Xamarin.Android версии 6.0). Дополнительные сведения о настройке уровней API Android см. в этой статье.

Настройка эмулятора или устройства

Если вы используете эмулятор, запустите AVD Manager (диспетчер виртуальных устройств Android) и создайте устройство, используя следующие параметры:

  • Устройство: Nexus 5, 6 или 9.
  • Целевая ОС: Android 6.0 с API уровня 23
  • ABI: x86.

Например, это виртуальное устройство настроено для эмуляции Nexus 5:

Настройка в AVD устройства Nexus 5, целевой ОС Android 6.0 и Intel Atom (x86)

При использовании физического устройства, например Nexus 5, 6 или 9, можно установить образ Android Marshmallow для предварительного просмотра. Дополнительные сведения об обновлении устройства до Android Marshmallow см. в Системные образы для оборудования.

Новые возможности

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

Разрешения среды выполнения

Система разрешений Android значительно оптимизирована и упрощена со времени выпуска Android Lollipop. В Android Marshmallow пользователи предоставляют разрешения в каждом конкретном случае во время выполнения, а не во время установки. Для поддержки этой возможности в Android Marshmallow и более поздних версиях вы разрабатываете приложение с учетом запроса у пользователя разрешений во время выполнения (в контексте, когда разрешения требуются). Это изменение позволяет пользователям быстрее начать работу с приложением, так как упрощает процесс установки и обновления приложения.

Дополнительные сведения о реализации разрешений в среде выполнения в приложениях Xamarin.Android (в том числе примеры кода) см. в этом блоге.

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

Усовершенствованная проверка подлинности

В Android Marshmallow введены два улучшения аутентификации, которые позволяют обойтись без паролей:

  • Проверка подлинности отпечатков пальцев — использует проверку отпечатков пальцев для проверки подлинности пользователей.

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

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

Проверка подлинности по отпечаткам

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

Голосовые взаимодействия

Новая возможность голосовых взаимодействий, появившаяся в Android Marshmallow, позволяет пользователям приложения использовать свой голос для подтверждения действий и выбора из списка. Дополнительные сведения о голосовых взаимодействиях см. в статье Обзор API голосового взаимодействия.

Дополнительные сведения о реализации голосовых взаимодействий в приложениях Xamarin.Android (в том числе примеры кода) см. здесь. Пример приложения, в котором показано, как использовать API голосового взаимодействия в приложении Xamarin.Android: Voice Interactions

Подтверждение учетных данных

Благодаря новой возможности подтверждения учетных данных в Android Marshmallow пользователям нет необходимости запоминать и вводить пароли для конкретных приложений, потому что аутентификация происходит в зависимости от того, как долго устройство разблокировано. Для этого используется новый метод SetUserAuthenticationValidityDurationSeconds для KeyGenerator. Используйте метод CreateConfirmDeviceCredentialIntent для KeyGuardManager, чтобы повторно проверять подлинность пользователя в приложении. Дополнительные сведения об этой новой возможности в Android Marshmallow см. в разделе Подтверждение учетных данных.

Пользовательские вкладки Chrome

Разработчики приложений сталкиваются с выбором действия, выполняемого, когда пользователь касается URL-адреса: приложение может запустить браузер или использовать браузер в приложении на основе WebView. Оба варианта представляют трудности. Запуск браузера — это тяжелый переключатель контекста, который не настраивается, в то время как WebViewне предоставляет общий доступ к состоянию браузера. Кроме того, использование нескольких WebView может добавить дополнительную нагрузку при их обслуживании.

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

  • цвет панели инструментов;

  • анимации входа и выхода;

  • настраиваемые действия на панели инструментов Chrome и в дополнительном меню;

  • предварительный запуск Chrome и предварительная загрузка содержимого (для ускорения загрузки).

Чтобы воспользоваться преимуществами этой возможности в приложении Xamarin.Android, скачайте и установите библиотеку пользовательских вкладок поддержки Android. Дополнительные сведения об этой возможности см. в статье Пользовательские вкладки Chrome.

Библиотека поддержки материального дизайна

В Android Lollipop представлен материальный дизайн как новый язык разработки, чтобы обновить взаимодействие с Android (дополнительные сведения об использовании материального дизайна в приложениях Xamarin.Android см. здесь). С Android Marshmallow компания Google представила библиотеку поддержки дизайна Android, которая упрощает разработчикам приложений внедрение внешнего вида материального дизайна. Эта библиотека содержит следующие компоненты:

  • CoordinatorLayout — новое CoordinatorLayout мини-приложение похоже на, но более мощное, чем приложение FrameLayout. CoordinatorLayout можно использовать как контейнер для дочерних представлений или как макет верхнего уровня. Это мини-приложение предоставляет атрибут layout_anchor, который можно использовать для привязки представлений относительно других представлений.

  • Сворачивание панелей инструментов — новая CollapsingToolbarLayout — это сокручивающая панель приложения, которая является оболочкой для Toolbar. (Обратите внимание, что панель приложения ранее называлась панель действий.)

  • Кнопка "Действие с плавающей запятой" — круглая кнопка , которая обозначает основное действие в интерфейсе приложения.

  • Плавающие метки для редактирования текста — использует новое TextInputLayout мини-приложение (которое упаковывает EditText) для отображения с плавающей метки при скрытии подсказки при вводе текста пользователем.

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

  • Закусочная панель — новый SnackBar мини-приложение — это упрощенный механизм обратной связи (как и всплывающее сообщение), отображающий краткое сообщение в нижней части экрана, отображающийся над всеми остальными элементами на экране.

  • Вкладки материалов — новое TabLayout мини-приложение предоставляет горизонтальный макет для отображения вкладок в качестве способа реализации навигации верхнего уровня в приложении.

Чтобы наделить приложение Xamarin.Android преимуществами библиотеки поддержки дизайна, скачайте и установите пакет NuGet библиотеки поддержки дизайна Xamarin.

Дополнительные сведения об использовании библиотеки поддержки материального дизайна в приложениях Xamarin.Android (в том числе примеры кода) см. в записи блога здесь.

Дополнительные сведения о библиотеке дизайна см. в блоге для разработчиков Android здесь.

Дополнительные обновления библиотек

Помимо Android Marshmallow, Google объявил о связанных обновлениях нескольких основных библиотек Android. Xamarin предоставляет поддержку Xamarin.Android для этих обновлений в виде нескольких предварительных выпусков пакетов NuGet:

  • Службы Google Play — последняя версия служб Google Play включает в себя новую функцию "Приглашения приложений", что позволяет пользователям поделиться своим приложением с друзьями. Дополнительные сведения об этой возможности см. в статье блога Расширение доступности приложения с помощью App Invites Google.

  • Библиотеки поддержки Android — эти функции NuGets предлагают только для API библиотеки, предоставляя версии API платформы Android, совместимые с обратной совместимостью.

  • Библиотека android Wearable — эта библиотека NuGet включает привязки служб Google Play. Последняя версия библиотеки для нательных технологий предоставляет новые возможности (в том числе упрощенную навигацию для пользовательских приложений) для платформы Android Wear.

Итоги

Из этой статьи вы узнали об Android Marshmallow, установке и настройке новейших средств и пакетов для разработки приложений Xamarin.Android на Marshmallow. Также предоставлен обзор самых интересных новых возможностей Android Marshmallow для разработки приложений Xamarin.Android.