Статьи

Основные моменты Google I / O 2018

И это упаковка! В этом году Google I / O подошел к концу, и, как обычно, было много объявлений и релизов для разработчиков.

Давайте посмотрим на некоторые из самых больших новостей от Google I / O 2018.

Google начал работу с огромного объявления в течение первых нескольких секунд после вступительного выступления. «До меня дошло, что у нас была серьезная ошибка в одном из наших основных продуктов», — сказал генеральный директор Google Сундар Пичаи. «Мы неправильно поняли сыр в наших смайликах с бургерами». Теперь исправлено!

Генеральный директор Google Сундар Пичаи представляет новый и улучшенный гамбургер Emoji

Хотя имя Android P до сих пор скрыто загадкой, Google I / O 2018 принес нам первую бета-версию Android P, а также познакомился с некоторыми из его основных функций:

  • Адаптивный аккумулятор. Время работы от батареи является проблемой для всех мобильных пользователей, поэтому Android P представляет новую функцию, которая оптимизирует использование батареи для отдельного пользователя. Исходя из привычек человека, адаптивная батарея будет размещать запущенные приложения в группы от «активных» до «редких», где каждая группа имеет свои ограничения. Если ваше приложение оптимизировано для Doze, App Standby и Background Limits, то Adaptive Battery должна работать из коробки.
  • Действия приложения . Эта новая функция использует машинное обучение для анализа контекста пользователя и последних действий, а затем представляет ваше приложение пользователю в тот момент, когда оно ему больше всего нужно. Действия приложения сделают ваше приложение видимым для пользователей на нескольких поверхностях Google и Android, таких как приложение Google Search, Play Store, Google Assistant и Launcher, а также различные устройства с поддержкой Assistant, включая динамики и интеллектуальные дисплеи. Чтобы воспользоваться этой функцией, вам необходимо зарегистрировать свое приложение для обработки одного или нескольких общих намерений .
  • Ломтики Это настраиваемые шаблоны пользовательского интерфейса, которые позволят пользователям взаимодействовать с вашим приложением вне полноэкранного режима, на поверхностях Android и Google, таких как Google Assistant. Вы можете создавать фрагменты, которые включают в себя диапазон динамического содержимого, включая текст, изображения, видео, живые данные, прокручиваемый контент, глубокие ссылки и даже интерактивные элементы управления, такие как переключатели и ползунки. Хотя срезы являются новой функцией для Android P, в конечном итоге они будут доступны вплоть до Android KitKat, благодаря проекту Jetpack (о котором мы расскажем позже в этой статье).

Первая бета-версия Android P теперь доступна для Sony Xperia XZ2, Xiaomi Mi Mix 2S, Nokia 7 Plus, Oppo R15 Pro, Vivo X21, OnePlus 6, Essential PH ‑ 1, Pixel и Pixel 2. Чтобы проверить, работает ли ваше устройство Для участия в этой бета- версии перейдите на веб-сайт бета-программы Android .

Один из самых важных моментов в выступлении в прошлом году пришел, когда директор по управлению продуктами Стефани Катбертсон объявила, что Kotlin станет официально поддерживаемым языком для разработки под Android, поэтому мы всегда будем видеть больше новостей, связанных с Kotlin, на Google I / O 2018 ,

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

1
2
3
sharedPreferences.edit()
  .putBoolean(«key», value)
  .apply()

С помощью модуля androidx.core:core-ktx KTX теперь вы можете написать код, который выглядит примерно так:

1
2
3
sharedPreferences.edit {
   putBoolean(«key», value)
}

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

  • androidx.core:core-ktx
  • androidx.fragment:fragment-ktx
  • androidx.palette:palette-ktx
  • androidx.sqlite:sqlite-ktx
  • androidx.collection:collection-ktx
  • androidx.lifecycle:lifecycle-viewmodel-ktx
  • androidx.lifecycle:lifecycle-reactivestreams-ktx
  • android.arch.navigation:navigation-common-ktx
  • android.arch.navigation:navigation-fragment-ktx
  • android.arch.navigation:navigation-runtime-ktx
  • android.arch.navigation:navigation-testing-ktx
  • android.arch.navigation:navigation-ui-ktx
  • android.arch.work:work-runtime-ktx

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

1
2
3
dependencies {
   implementation ‘androidx.fragment:fragment-ktx1.0.0-alpha1’
}

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

Jetpack делится на четыре категории:

  • Фонд. Это включает компоненты для основных возможностей системы, такие как App Compat и Android KTX.
  • UI. Это категория для компонентов, ориентированных на пользовательский интерфейс, таких как Fragment и Layout, но также и для компонентов, выходящих за пределы смартфонов, включая Auto, TV и Wear OS от Google.
  • Архитектура. Здесь вы найдете модули, которые помогут вам управлять жизненным циклом компонента пользовательского интерфейса и управлять сохранением данных, включая привязку данных, LifeCycles, LiveData, Room и ViewModel.
  • Поведение. Эта категория содержит модули, такие как разрешения, уведомления и недавно анонсированные фрагменты.

Самый простой способ начать работу с Jetpack — это загрузить Android Studio 3.2 или выше, а затем создать проект с использованием шаблона Activity & Fragment + ViewModel , который предназначен для того, чтобы помочь вам включить Jetpack в свое приложение.

Ни один ввод / вывод Google не будет полным без новостей Android Studio! В этом году мы получили новый предварительный просмотр Android 3.2 , в котором были представлены следующие функции:

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

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

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

Библиотека поддержки Android бесценна, но из-за того, как она развивалась годами, она не совсем интуитивно понятна, особенно для новичков. Например, библиотека поддержки включает в себя множество компонентов и пакетов с именем v7 , хотя API 14 — это минимум, который поддерживается большинством этих библиотек.

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

Android Studio 3.2 поддерживает эту миграцию с помощью новой функции рефакторинга, к которой вы можете получить доступ, щелкнув «Control» по вашему проекту и выбрав « Рефакторинг»> «Рефакторинг в AndroidX» . Это обновит ваш код, ресурсы и конфигурацию Gradle для ссылки на артефакты Maven и классы рефакторинга.

Согласно блогу Google, они планируют продолжить обновление библиотек, упакованных android.support течение всего периода P Preview, чтобы дать сообществу достаточно времени для перехода на AndroidX.

С момента запуска Android Marketplace в марте 2012 года средний размер приложения увеличился в пять раз, и есть основания полагать, что при увеличении размера APK на каждые 6 МБ можно ожидать снижения скорости установки на 1%.

Чтобы помочь вам контролировать размер APK, Android Studio 3.2 представляет концепцию комплектов приложений Android . В соответствии с этой новой моделью вы создаете единый артефакт, который включает весь код, ресурсы и библиотеки, необходимые вашему приложению для каждого устройства, но фактическая генерация APK выполняется службой динамической доставки Google Play.

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

Если вы уже организовали код и ресурсы своего приложения в соответствии с лучшими практиками, создание пакета приложений в Android Studio 3.2 довольно просто:

  • Выберите « Сборка»> «Сборка пакетов» / «APK» на панели инструментов Android Studio.
  • Выберите Build Bundle (s) .
Выберите Build Build Bundles APKs Build Bundles на панели инструментов Android Studio

Это генерирует пакет приложения и помещает его в ваш каталог project-name/module-name/build/outputs/bundle/ .

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

  • Выберите « Сборка»> «Создать подписанный пакет / APK» на панели инструментов Android Studio.
  • Выберите комплект приложений Android и нажмите « Далее» .
  • В раскрывающемся меню Модуль выберите базовый модуль вашего приложения.
  • Завершите остальные диалоги подписи, как обычно, и Android Studio сгенерирует ваш подписанный пакет.

Когда вы загружаете свой комплект приложений, игровая консоль автоматически генерирует разделенные APK и мульти-APK для всех конфигураций устройства, которые поддерживает ваше приложение. Если вам интересно, то вы можете точно увидеть, какие артефакты он создал, используя новый App Bundle Explorer:

  • Войдите в консоль Google Play .
  • Выберите ваше приложение.
  • В левом меню выберите Управление выпусками> Выпуски приложений> Управление .
  • Выберите пакет, который вы хотите изучить.
  • Нажмите Открыть в проводнике пакетов .

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

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

Чтобы увидеть эту функцию в действии:

  • Откройте вкладку « Дизайн » в Android Studio.
  • Перетащите RecyclerView в макет вашего приложения.
  • Убедитесь, что ваш RecyclerView выбран.
  • На панели « Атрибуты» найдите раздел « RecyclerView / listitem » и нажмите соответствующую кнопку « Дополнительно» (где курсор расположен на следующем снимке экрана).
Заполните ваши макеты с диапазоном выборочных данных

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

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

Android Studio 32 включает в себя новый Energy Profiler

Чтобы убедиться, что ваш Java-код хорошо сочетается с вашим кодом Kotlin, в Android Studio 3.2 введены новые проверки Lint, которые применяют лучшие практики, описанные в Руководстве по взаимодействию Kotlin .

Чтобы включить эти проверки:

  • Выберите Android Studio> Настройки на панели инструментов Android Studio.
  • Выберите Редактор в левом меню.
  • Выберите Инспекции .
  • Разверните раздел Kotlin , а затем раздел о проблемах взаимодействия Java .
  • Выберите проверки, которые вы хотите включить.

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

Чтобы запустить Ассистент, выберите « Инструменты»> «Ассистент подключения» на панели инструментов Android Studio, а затем следуйте инструкциям на экране.

Если вы создали « Действия» для помощника , то в операциях ввода-вывода Google появилось несколько новых и расширенных функций, которые помогут вам извлечь максимальную пользу из ваших действий.

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

Чтобы создать тематические действия:

  • Перейдите к консоли действий (которая также подверглась редизайну).
  • Откройте проект, в котором вы хотите реализовать свою собственную тему.
  • В левом меню выберите Настройка темы .
Создание пользовательских тем в консоли Googles Actions

Вы попадете на экран, где вы можете сделать следующие настройки:

  • Цвет фона Цвет, который применяется к фону ваших карт действий. Везде, где возможно, вы должны использовать светлый цвет, так как это облегчает чтение содержимого карты.
  • Основной цвет. Цвет, применяемый к тексту заголовка, например заголовкам карточек, и компонентам пользовательского интерфейса, например кнопкам. Рекомендуется использовать темный цвет, поскольку он обеспечивает максимальный контраст с фоном карты.
  • Типография. Семейство шрифтов, которое применяется к основному тексту вашей карты, например заголовкам.
  • Shape. Дайте ваши карты действий под углом или изогнутыми углами.
  • Фоновая картинка. Загрузите изображение для использования в качестве фона вашей карты действий. Вам нужно будет предоставить отдельные изображения для альбомного и портретного режимов устройства.

Когда вы будете довольны изменениями, нажмите Сохранить . Затем вы можете увидеть свою тему в действии, выбрав Симулятор в меню слева.

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

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

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

  • Пройдите в консоль Dialogflow .
  • Выберите вашего агента в меню слева.
  • Найдите Intents в левом меню, а затем выберите соответствующий значок + .
  • Нажмите, чтобы развернуть раздел « События ».
  • Выберите Добавить событие .
  • Выберите намерение, которое вы хотите добавить.
Откройте раскрывающийся список «События диалогового окна» и выберите один из встроенных вариантов.
  • Вернитесь к верхней части экрана, введите имя для своего намерения и нажмите « Сохранить» .

Если вы используете SDK Actions, вам нужно будет указать соответствие между каждым встроенным намерением и Actions в вашем пакете Action , который представляет собой JSON-файл, который вы создаете с помощью CLI gactions.

Например, здесь мы обновляем пакет Action для поддержки встроенного намерения GET_CREDIT_SCORE :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
 «actions»:[
    {
       «description»:»Welcome Intent»,
       «name»:»MAIN»,
       «fulfillment»:{
          «conversationName»:»conversation1″
       },
       «intent»:{
          «name»:»actions.intent.MAIN»
       }
    },
    {
       «description»:»Get Credit Score»,
       «name»:»GET_CREDIT_SCORE»,
       «fulfillment»:{
          «conversationName»:»conversation1″
       },
       «intent»:{
          «name»:»actions.intent.GET_CREDIT_SCORE»
       }
    }
 ],

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

Чтобы увидеть пример глубокой связи, ознакомьтесь с этой ссылкой « Действие» в приложении для медитации и осознанности Headspace.

Чтобы создать ссылку действия:

  • Перейдите к консоли действий .
  • Откройте проект, в котором вы хотите создать свою Action Link.
  • В меню слева выберите Действия .
  • Выберите действие, для которого вы хотите создать ссылку.
  • Прокрутите вниз до раздела « Ссылки » и нажмите, чтобы развернуть.
  • Перетащите Хотите включить URL для этого действия? ползунок, поэтому он включен.
  • Дайте вашей ссылке название.
  • Прокрутите до верхней части страницы и нажмите Сохранить .
  • Найдите URL-адрес в разделе « Ссылки » и нажмите « Копировать URL-адрес» .

Теперь вы можете использовать этот URL-адрес в любом месте, поддерживающем гиперссылки, например на веб-сайтах, в блогах, Facebook, Twitter, разделах комментариев YouTube и т. Д.

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

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

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

  • Перейдите к Действиям на консоли Google .
  • Выберите свой проект.
  • В меню слева выберите Действия .
  • Выберите действие, в которое вы хотите добавить поддержку стандартных предложений.
  • Выделите раздел « Участие пользователей » и нажмите, чтобы развернуть.
  • Нажмите. Хотите ли вы, чтобы пользователи добавляли это действие в процедуры Google Assistant? ползунок, поэтому он включен.
  • Введите заголовок контента .
  • Вернитесь к верхней части экрана и нажмите « Сохранить» .

Если ваше мобильное приложение будет охватывать как можно более широкую аудиторию, вам нужно будет разработать приложение для других платформ, кроме Android! Это давно поставило перед разработчиками загадку: вы разрабатываете одно и то же приложение несколько раз или идете на компромисс с кросс-платформенным решением, которое не совсем соответствует исходным возможностям, которых ожидают мобильные пользователи?

На Google I / O 2017 Google анонсировал Flutter , инструментарий пользовательского интерфейса, который обещал помочь вам написать свой код один раз и обеспечить нативную работу как для iOS, так и для Android, с виджетами, стилизованными под Cupertino (iOS) и Material Design (Android) ) методические рекомендации.

В этом году компания Google выпустила третью бета-версию Flutter с новыми функциями, такими как:

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

Чтобы начать работать с Flutter, вам нужно настроить Git, если вы этого еще не сделали. После того, как вы установили Git, вы можете заполучить Flutter, выполнив следующую команду из окна терминала или командной строки:

1
git clone -b beta https://github.com/flutter/flutter.git

Вы можете использовать Flutter с любым текстовым редактором, но если вы установите плагины Flutter и Dart, вы можете создавать приложения Flutter с помощью Android Studio:

  • Запустите Android Studio и выберите Android Studio> Настройки … на панели инструментов.
  • Выберите Плагины из меню слева.
  • Нажмите кнопку Обзор репозиториев… .
  • Найдите Flutter и нажмите зеленую кнопку Install .
  • Когда Android Studio предложит вам установить Dart, нажмите « Да» .
  • Перезапустите Android Studio.

Теперь у вас есть доступ к ряду шаблонов Flutter, поэтому самый простой способ почувствовать этот инструментарий — создать проект с использованием одного из следующих шаблонов:

  • Выберите New> New Flutter Project …
  • Выберите шаблон приложения Flutter и нажмите « Далее» .
  • Завершите настройку проекта, как обычно.

Чтобы запустить это приложение:

  • Откройте раскрывающийся список выбора устройства Flutter .
  • Выберите виртуальное устройство Android (AVD) или физическое устройство Android из списка.
  • Выберите « Выполнить> main.dart» на панели инструментов Android Studio.

Это создает простое приложение, которое отслеживает, сколько раз вы нажали кнопку с плавающим действием.

Используйте шаблон приложения Flutter для создания простого приложения на основе Dart

Чтобы взглянуть на код для этого приложения, откройте файл flutter_app/java/main.dart вашего проекта.

Хотя технически это не то, что вы можете добавить в свои приложения или начать экспериментировать с сегодняшним днем, Google Duplex был одним из самых интригующих объявлений, сделанных во время вступительной речи, поэтому он определенно заслуживает упоминания.

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

Во время вступительной речи Сундар Пичаи объявил, что Google тестирует новую функцию, предназначенную для автоматизации задач, которые обычно требуют, чтобы вы подняли трубку, например, зарезервировав столик в любимом ресторане или заказав стрижку.

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

После того, как помощник Google забронирует вашу встречу, он даже добавит напоминание в ваш календарь, чтобы вы не забыли о бронировании прически или ужина.

В настоящее время дуплекс ограничен в планировании определенных типов встреч, но во время выступления Google I / O было воспроизведено несколько клипов, и результаты уже впечатляют. Вы можете сами услышать эти клипы в блоге Google AI .

За кулисами Duplex — это рекуррентная нейронная сеть (RNN), построенная с использованием платформы машинного обучения TensorFlow Extended (TFX) и обученная с использованием ряда анонимных данных телефонных разговоров. Компьютеризированный голос меняет свою интонацию в зависимости от контекста, благодаря комбинации механизма преобразования текста в речь (TTS) и механизма синтеза TTS с использованием Tacotron и WaveNet, а также добавлением некоторых «хммм» и «э-э» s и паузы, рассчитанные на то, чтобы разговор звучал более естественно.

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

В этой статье мы рассмотрели некоторые наиболее примечательные объявления разработчиков на Google I / O 2018, но есть еще много чего, чего мы не коснулись! Если вы хотите узнать обо всех новостях, связанных с Google (и у вас есть несколько сотен часов), вы можете посмотреть все сеансы Google I / O 2018 на YouTube.