Size: a a a

Android Live 🤖

2021 December 20
Android Live 🤖
​​Android App Bundles. Как уменьшить размер приложения?
#android

Уже с августа 2021 года при загрузке новых приложений в Google Play необходимо использовать формать aab вместо стандартного apk.
По сути, это крутая возможность уменьшить размер загружаемых файлов на устройство пользователя при установке приложения.

Ведь теперь Google берёт на себя генерацию отдельных apk-файлов для каждого типа устройства в зависимости от его характеристик и подгружает только нужные этому устройству ресурсы и код.

Чаще всего вам не очень сильно надо заморачиваться настройкой проекта, чтобы перейти на aab, но всё же есть некоторые нюансы, которые стоит проверить. Например, если у вас есть выбор языка внутри приложения, то теперь надо обработать динамическую подгрузку языков в приложение, да и настроить её в build.gradle.

Чуть больше информации о том, что стоит проверить можно найти тут.
источник
2021 December 24
Android Live 🤖
​​Kotlin Flows in Android summary
#android #flow

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

Тут и про то, как их создавать, какие типы есть, о различных типах Dispatcher, всевозможных операторах, исключениях и т.д.

В общем, крайне рекомендую, можно сохранить в закладки.
источник
2021 December 28
Android Live 🤖
​​Проверка Firebase Push уведомлений
#android

Небольшой лайфхак о том, как можно удобно тестировать пуш-уведомления в вашем приложении.

Наверное, самым распространённым способом для тестирования является консоль Firebase, где мы вводим пуш-токен нашего устройства и получаем нужное нам уведомление.

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

POST https://fcm.googleapis.com/fcm/send

Параметры для Body описаны тут.

И не забудьте в Headers добавить авторизацию:
Content-Type -> application/json
Authorization -> key=server_key.

Сам ключ можно взять в настройках проекта Firebase.
В целом, всё.
Этот способ позволяет более гибко настраивать уведомления, что особенно полезно при работе с уведомлениями на сервере. 🤞🏻
источник
2021 December 30
Android Live 🤖
​​Советы по debug
#android

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

Для себя узнал парочку новых штук.

1️⃣ Disable until hitting the following breakpoint — позволяет включать нужный breakpoint только в том случае, когда выполнился определённый вами breakpoint. Очень удобно, если надо отдебажить код, который выполняется только при определённом условии.

2️⃣ Evaluate and log — крутой пункт, если нужно вместо остановки на нужном breakpoint просто вывести сообщение в лог без повторной сборки приложения.

3️⃣ Drop Frame — штука, которая позволяет повторно перейти к выбранному breakpoint, если вы его случайно пропустили. Этакий второй шанс, если что-то пошло не так.

4️⃣ Analyzing stack trace — можно анализировать stack trace прям в студии, что гораздо удобнее, чем смотреть его в блокноте или браузере.

Полный список советов можно найти тут.
источник
Android Live 🤖
Реакции в Telegram
#android_live

О, теперь в Telegram поддерживаются реакции к сообщениям.
Включил их и на канале: обновите приложение и можете пользоваться. Правда мне кажется, что сообщения более важная штука, ведь общение с аудиторией — это круто. Но реакцию поставить быстрее, может быть ими будут пользоваться активнее.😄

А как вам нововведение?
источник
2021 December 31
Android Live 🤖
2️⃣0️⃣2️⃣2️⃣

Быть может для многих 2021 год был не самым успешным и столько неопределённости в мире ещё остаётся 🤪

Но в мире Android произошло много крутых событий, о которых вам рассказывал канал @android_live.
За этот год вышло несколько сотен постов, где каждый находил то, что полезно ему: будь то новичок или senior с годами опыта. 🤟🏻

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

С Новым годом от автора Android Live! 🎄
источник
2022 January 05
Android Live 🤖
​​Kotlin Multiplatform Wizard
#kmm

Тут обновился Kotlin Multiplatform Wizard, и теперь тут стало ещё больше плюшек: можно выбрать нужные для проекта таргеты, настроить основные библиотеки для проекта, package name и прочее. Очень удобная штука, поэтому если начинаете свои проекты на KMM, то самое время сохранить страничку в закладки.

Кстати, авторы не против новых изменений от вас, так что если чего-то нет, то создавайте свои PR.🤘
источник
2022 January 10
Android Live 🤖
​​Jetpack Compose в существующий проект
#jetpack #compose

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

Думаю, что статья будет полезна новичкам в Compose, которые только-только стоят на пути изучения этой крутой технологии и внедрения её в свои проекты.
источник
Android Live 🤖
А вы уже начали внедрять Compose в свои проекты?
Анонимный опрос
6%
Уже всё переписал
16%
В процессе добавления, переписываю код
47%
Думаю внедрить, но пока нет
31%
Не планирую добавлять
Проголосовало: 700
источник
2022 January 12
Android Live 🤖
​​ShapeableImageView
#android #view

При разработке приложений, довольно часто нужно придавать различную форму ImageView. Самая распространённая — это круглая, которая зачастую используется для аватарок или в профилях.

Путей решения много: например, кастомная View или же библиотеки, но я только недавно узнал, что есть нативное решение из компонентов Material.

Все что нужно — это использовать com.google.android.material.imageview.ShapeableImageView и применить нужные атрибуты: это и форма, и обводка, и радиус для углов. В общем, крутая штука прям из коробки. Чуть больше деталей можно посмотреть тут.
источник
2022 January 13
Android Live 🤖
Немного оффтопа на канале. Я сейчас в небольшом и уютном турецком городке Каш, где очень много русскоговорящих ребят с IT.

Вдруг кто-то из подписчиков тоже тут: буду рад встретиться и пообщаться за чашечкой вкусного кофе ☕️.

Пишите в личку, если надумаете.
источник
Android Live 🤖
19 и 20 января в 20:00 пройдет 2-дневный интенсив по мобильной разработке от OTUS «Flutter engine, анимация и ее оптимизация».

✔️ Рассмотрим самые глубокие механизмы Flutter engine.
✔️ Научимся создавать сложные и плавные анимации как на мобильных платформах, так и на веб.
✔️ Научимся использовать инструменты профилирования для исключения «замерзания» интерфейса.
✔️ Обсудим тему использования WebGL в веб-приложениях на Flutter для создания трехмерных сцен.

Интенсив бесплатный и позволяет протестировать обучение на онлайн-курсе «Flutter Mobile Developer» от OTUS. Программа подойдет тем, у кого уже есть опыт в программировании. Для записи на интенсив пройдите вступительный тест.

👉 Регистрация на 1-й день интенсива: https://otus.pw/OOlkM/
👉 Регистрация на 2-й день интенсива: https://otus.pw/tm39/

#партнёрский
источник
2022 January 17
Android Live 🤖
​​Kermit and Crashlytics
#kmm

Полезная статья, которая рассказывает о том, как собирать краши на iOS и Android в KMM-приложениях при помощи Kermit.

На практике, сохранение стектрейса при падении приложения на iOS — не самая простая задача, если вы хотите также видеть место в Kotlin-коде, которое связано с падением. При помощи описанного логгера получается сохранить стектрейс, но только в качестве отдельного non-fatal краша.

Лучше, чем ничего: тем более, что каких-то других минусов в библиотеке не обнаружено.
источник
2022 January 24
Android Live 🤖
​​Jetnews на каждом экране
#jetpack #compose

Интересная статья, которая будет полезна всем, кто работает с Compose и хочет адаптировать своё приложение под разные размеры экрана.

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

В целом, адаптация приложения под большие экраны — не выглядит чем-то сильно сложным и критичным. Но если у вас есть отличный опыт, то делитесь в комментариях.
источник
2022 January 26
Android Live 🤖
​​GDG Minsk — Meetup
#meetup

Тут ребята из GDG Minsk делают онлайн Android Meetup. Вот темы и спикеры:

1️⃣ Анна Жаркова, Lead mobile developer, Kotlin GDE, Usetech — расскажет о том как использовать WorkManager API для эффективной фоновой работы, как заменить Foreground Service Expedited Jobs и настроить миграцию с учетом нюансов. Актуально, ведь устройств на последнем Android всё больше.

2️⃣ Павел Стрельченко, Android-разработчик core-команды в hh.ru — расскажет о переходе кодовой базы hh на ViewBinding с помощью плагина для Android Studio.

Зарегистрироваться можно тут, а можно сразу сохранить ссылку на трансляцию.

Мероприятие пройдёт 31 января в 19:00 GMT+3, оно бесплатное и на русском языке. Готовьте ваши вопросы спикерам, ещё есть время 😉.
источник
Android Live 🤖
​​Загрузка больших изображений в RecyclerView
#tips

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

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

Звучит довольно логично и просто, хотя не обошлось без проблем: изображения ставятся в очередь на загрузку, и если их будет слишком много, а их объём будет слишком большой, то пользователь увидит этот момент, и опыт использования скролла будет не такой приятный.

В общем, если у вас нет возможности оптимизировать изображения, этот совет может вам помочь.
источник
Android Live 🤖
​​Android Studio Bumblebee
#android

Тут прилетел новый финальный релиз Android Studio под названием Bumblebee 🐝.

Вот некоторые из новинок:

1️⃣ New Device Manager — добавили вкладку, где можно более удобным способом менеджерить устройства, подключенные к Android Studio.

2️⃣ ADB over Wi-Fi — упростили подключение и дебаг приложений при помощи Wi-Fi. Теперь достаточно просто отсканировать QR-код и девайс будет подключен к дебагу.
Штука удобная, правда не уверен, что часто будет использоваться в повседневной работе.

3️⃣ Новый Test Runner — добавили возможность запуска тестов для инструментальных тестов, который призван убрать проблему, когда они по-разному запускались на устройстве или CI.

4️⃣ Улучшения в профайлере — добавили новых метрик для профайлинга: Frame Lifecycle: Application, Wait for GPU, Composition и Frames on display. Ещё появился Junk Detection, который позволит лучше дебажить ситуации, когда есть просадки в производительности.

5️⃣ Улучшили Background Task Inspector, где теперь можно дебажить  Jobs, Alarms и Wakelocks.

6️⃣ Добавили всякие штуки для дизайна — сделали превью векторных анимаций, поправили превью Compose.

Билд получился хороший, я обновился и вроде даже ничего не поломалось 🤞🏻, так что смело пробуйте. Больше деталей про обновление можно найти тут
источник
2022 February 02
Android Live 🤖
​​GraphQL в Android для начинающих
#android #новичкам

Интересная статья, которая рассказываем о применении GraphQL в Android с самого начала.
Автор делится своими размышлениями о том, что такое GraphQL, какие есть преимущества  над обычными REST API, а также что выбрать для того, чтобы добавить эту либу в своё приложение.

Крайне рекомендую, ведь инструмент очень полезный.
источник
2022 February 07
Android Live 🤖
​​Understanding Gradle - The Fundamentals
#новичкам #gradle

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

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

Отличный курс для новичков, не так часто встретишь что-то действительно хорошее в видео формате.
источник
2022 February 09
Android Live 🤖
​​Высокая производительность с Kotlin
#kotlin

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

Но всё же, если говорить про нас, разработчиков, то мы должны стараться делать максимально качественные приложения и отслеживать необходимые метрики для того, чтобы понять, что с нашим приложением что-то не так.

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

Советы крутые, можно найти для себя полезные штуки 🔥.
источник