Эксперименты с Jetpack Glance

https://github.com/google/glance-experimental-tools

Мы рады сообщить, что новый фреймворк Jetpack Glance , который позволяет создавать виджеты приложений и плитки с кодом, подобным Jetpack Compose, достиг альфа-04 .

В этом выпуске появились новые функции, критические изменения и новые API:

Мы также только что выпустили отдельный экспериментальный репозиторий , чтобы дополнить Jetpack Glance инструментами, которые обычно требуются для разработки, но пока недоступны.

Важно: этот проект не зависит от репозитория и разработки AndroidX Glance . API GlanceRemoteViewsи любые функции в экспериментальном репозитории могут в будущем измениться или устареть (и поэтому, вероятно, устареть).

Почему этого не может быть в AndroidX?

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

Примечание: этот репозиторий следует шаблону Accompanist , но в гораздо более узком масштабе (подробнее об этом читайте здесь ) .

Взгляните на экспериментальные инструменты

Первоначальная идея состоит в том, чтобы использовать новый экспериментальный GlanceRemoteViews API для включения новых функций вместе с Jetpack Compose. Давайте рассмотрим первые доступные модули:

AppWidget Host компонуемый

Вы можете использовать AppWidgetHostкомпонуемый объект для размещения и отображения RemoteView внутри вашего приложения. Этот модуль вместе с новым GlanceRemoteViewsAPI обеспечивает работу других модулей с помощью простого API, который отображает объект RemoteViews, отделенный от AppWidgets и Glance.

Давайте рассмотрим пример:

AppWidgetHostStateОбновляет хост с заданными RemoteViews . Здесь мы можем использовать новый GlanceRemoteViewsAPI для их создания из функции, компонуемой с помощью Glance.

Подробнее об этом модуле читайте здесь .

Примечание. Вы можете напрямую использовать RemoteViews без Glance, так как этот модуль не зависит от Glance-appwidget.

Просмотрщик для seek-appwidget

Когда дело доходит до тестирования и отладки AppWidgets, основной проблемой является трудоемкий процесс, необходимый для развертывания одной итерации :

  1. Создайте свой проект.
  2. Запустите приложение.
  3. Закройте приложение.
  4. Удалите и добавьте виджет приложения в панель запуска (или используйте этот обходной путь ☹️)
  5. Сделанный!

… подождите, «Живое редактирование» работает с Glance?

Код меняется слева, отражается на устройстве справа

Правильно: больше не нужно ждать сборки и запуска приложения. Расширяя GlancePreviewActivityдля отладочных сборок, вы можете ускорить итерации пользовательского интерфейса. Расширенная активность отображает виджеты вашего приложения внутри вашего собственного приложения (вместо панели запуска), обеспечивая гораздо более быстрый предварительный просмотр и активируя функции « Применить изменения » и « Живое редактирование » из Android Studio.

Зритель look-appwidget не полагается на AppWidgetManager; вместо этого он использует AppWidgetHostViewнепосредственно, чтобы пропустить BroadcastReceiverмеханизм рендеринга RemoteView внутри активности приложения (есть некоторые ограничения ).

Используя это средство просмотра вместе с Compose и Live Edit , мы можем реализовать ( в большинстве случаев ) механизм обновления в реальном времени, почти мгновенно отображая изменения кода в компонуемых компонентах Glance.

Мало того, активность просмотра включает другие доступные инструменты разработчика, такие как Layout Inspector .

Проверка GlanceAppWidget с помощью Layout-Inspector

Кроме того, активность просмотра предоставляет следующие возможности:

  • Переключение между различными виджетами
  • Изменение размера и отображение изменений доступного пространства виджета (с учетом SizeMode )
  • ℹ️ Подсветка отсутствующих метаданных виджета приложения
  • Запрос лаунчера на закрепление текущего предварительного просмотра
  • ️ Извлечение и совместное использование текущего предварительного просмотра ( android:previewImage )

Использование Compose @Preview

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

Примечание. Предварительный просмотр будет отображаться в Android Studio, а RemoteViews — нет. Вы всегда должны запускать его на устройстве. Лучшая поддержка для этого будет предоставлена ​​позже.

Компонуемая конфигурация GlanceAppWidget

Этот компонуемый модуль конфигурации GlanceAppWidget предлагает самостоятельную компоновку для использования в вашей деятельности по настройке виджетов вашего приложения. В двух словах, он построен на основе Material3 Scaffold для отображения и обработки логики конфигурации действий виджета приложения для Glance.

Этот компоновщик отлично подходит для:

  • Делаем переход между лаунчером и экраном конфигурации более плавным и выровненным ( материал для вас! )
  • Отображение реалистичного предварительного просмотра виджета приложения (с сохранением размера), чтобы помочь пользователям настроить его.
  • Включение GlanceAppWidget для отражения изменений состояния без фактического их применения

Что дальше?

Мы изучаем другие инструменты, которые помогут вам улучшить внешний вид с помощью Glance. А пока мы с нетерпением ждем ваших отзывов. Пожалуйста, используйте GitHub, чтобы сообщать о проблемах или запросах функций (psst! вклады более чем приветствуются!).

Suggested posts

Что делает подкаст влиятельным?

Что делает подкаст влиятельным?

На прошлой неделе я заметил пресс-релиз, разосланный через PressGazette (новостной веб-сайт британских СМИ). В статье сообщалось, что Acast, скандинавская компания по размещению и рекламе подкастов, возглавит консорциум «вероятно, самых влиятельных» издателей подкастинга.

Революция на рабочем месте: ведущие эксперты обсуждают гибридную и удаленную работу

Революция на рабочем месте: ведущие эксперты обсуждают гибридную и удаленную работу

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

Related posts

«Обнаруженная Марианская впадина: раскрытие ужасающих скрытых истин бездны»

«Обнаруженная Марианская впадина: раскрытие ужасающих скрытых истин бездны»

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

3 проверенных способа улучшить свои навыки письма

Преимущества письма и стратегии, которые помогут вам в этом

3 проверенных способа улучшить свои навыки письма

В 2022 году, с выпуском GPT-3, навыки письма, кажется, стали менее важными. С помощью ИИ люди с плохим письмом также могут генерировать качественный персонал.

Два года в дизайне: хорошее, плохое и уродливое…

Два года в дизайне: хорошее, плохое и уродливое…

«Привет, Siri, включи Me Dive Оливии Дин». В мае 2021 года я начал стажировку в Future Academy Africa в Акуре, Нигерия.

Переосмысление медиа: пять истин Макчесни и будущее коммуникаций

В современном гиперсвязанном мире системы СМИ играют ключевую роль в формировании общественного мнения и, следовательно, в демократическом принятии решений. В своем глубоком анализе политической экономии коммуникации ученый Роберт МакЧесни бросает вызов общепринятому мнению и представляет то, что он называет «пятью истинами» о СМИ.