Получи случайную криптовалюту за регистрацию!

Android Live 🤖

Логотип телеграм канала @android_live — Android Live 🤖 A
Логотип телеграм канала @android_live — Android Live 🤖
Адрес канала: @android_live
Категории: Технологии
Язык: Русский
Количество подписчиков: 5.94K
Описание канала:

Самые свежие новости, новинки и тренды Android от практикующего разработчика.
Автор: @al_gorshkov,
Чат: @android_live_chat
YouTube: youtube.com/channel/UC1BmHcuVShCt3Rb1eENbiAA
По рекламе: @ek_gorshkova

Рейтинги и Отзывы

2.67

3 отзыва

Оценить канал android_live и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

1

2 звезд

0

1 звезд

1


Последние сообщения 19

2021-08-06 15:05:00
QIWI Android Developer Days

19 августа пройдет первый митап QIWI для Android-разработчиков. Поделимся опытом внедрения Kotlin Multiplatform Mobile, расскажем о фича-флагах и единой системе обработки диплинков с кодогенерацией.

А ещё: кубер не только для бэкенда, но и для фермы девайсов для автотестов; как мы переходили на продуктовую разработку, о работе в наших командах и о том, как продать свои фичи бизнесу.

7 спикеров, спецгость - Илья Линник, заставший первые API Android. Приходите послушать или подключайтесь онлайн!

Подробная программа мероприятия и регистрация по ссылке https://s.qiwi.com/2uP-tdK_JIt

#партнерский
746 views12:05
Открыть/Комментировать
2021-08-06 12:05:00 ​​Серия статей Flows и Channels
#flow #kotlin

Крутая серия статей, которая посвящена более глубокой проработке вопроса, связанного с Flow и Channel.

Автор начинает рассказ с общего понятия потоков, cold и hot streams, их разницы и кейсов применения. Так что это всё подойдёт тем, кто совсем не в теме и хочет детально с этим разобраться.

Серия состоит из 5 частей и охватывает большинство кейсов. Ссылка на первую часть тут.
А вот и пример, где автор применяет полученные знания на практике.
1.1K views09:05
Открыть/Комментировать
2021-08-04 17:22:21 ​​Выводы о KMM после небольшого приложения
#kmm

Попалась любопытная статья, где описываются выводы, свзянные с использованием KMM в небольшом проекте и рассказывается о тех сложностях, с которыми пришлось столкнуться.

Автор рекомендуют воспользоваться туториалом от Touchlab, связанным с испльзованием KMM, выглядит действительно здорово: целая коллекция инструментов, которые помогут легче вклиниться в проект.

Ну и далее любопытный список выводов, которые будут полезны, если вы думаете о создании проекта на KMM.
Кстати, если вы хотите мигрировать текущий проект, то вот вам хороший опыт о переезде, ну и описание преимуществ, которые в результате появились.
954 views14:22
Открыть/Комментировать
2021-08-03 18:05:00 ​​Microsoft Teams поддерживает нативные уведомления под MacOS
#tools

Новость совсем не про Android разработку, но для тех кто использует MacOS и Teams для работы — новость то, что надо.
Дело в том, что Microsoft Teams не поддерживал показ нативных уведомлений на MacOS, показывая вместо них самописные, которые мало того, что выглядели не очень, так ещё и частенько бажили.

Теперь мучениям пришёл конец, и можно настроить показ уведомлений в том же стиле, что и все уведомления на MacOS в «Настройки и другое» (Settings and more) -> «Настройки» (Settings) -> «Уведомления» (Notifications).

А что вы используете на работе в качестве мессенджера и средства для общения?
1.5K views15:05
Открыть/Комментировать
2021-08-02 20:05:00 ​​Как Telegram оптимизирует изображения перед отправкой
#library #cases

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

Автор статьи решил изучить вопрос и посмотреть, как Telegram делает такую оптимизацию. Покопавшись в коде, нашёл класс ImageOptimizer, который отвечает за алгоритм сжатия изображений. Он состоит из следующих шагов:

декодирование изображения из файла в Bitmap;

рассчёт коэффициента сжатия — в Telegram используется 1280 для обычных изображений и 90 для миниатюр;

рассчёт ближайшего inSampleSize — первый этап оптимизации изображений, где рассчитывается BitmapFactory.Options.inSampleSize на основании коэффициента из предыдущего шага. Поддерживается шаг кратный степени 2;

рассчёт Image Matrix — после предыдущего шага меняется ориентация изображения, чтобы применить к нему, если необходимо, дополнительные оптимизации. Делается это при помощи Matrix и Exif данных об изображении;

создание сжатого изображения — делается на основе передаваемых в функцию BitmapFactory.Options и Matrix, с которыми работал алгоритм на предыдущих шагах;

проверка на увеличение готового изображения — если созданное изображение имеет параметры, которые ниже минимальных значений, то его нужно увеличить;

сжатие и сохранение изображения — при помощи функции Bitmap.compress() осуществляется сжатие с заданными параметрами качества. В Telegram это Bitmap.CompressFormat.JPEG с качеством 80 для изображений и 50 для миниатюр.

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

Готовая функция из статьи тут, которую при желании вы можете использовать и у себя в проектах.
1.8K views17:05
Открыть/Комментировать
2021-07-30 16:05:01 ​​Релиз Lottie для Compose
#compose #library

Не успел выйти релиз Compose, как контрибьюторы начали изменять свои библиотеки для совместимости с ним.
И вот, уже в стадии релиза библиотека Lottie, которая позволяет отображать созданные в Adobe After Effects анимации в приложениях.

Ребята рассказали, что они изменили внутрянку библиотеки для совместимости с экосистемой Compose, с самой ранней версией общались с разработчиками Compose для того, чтобы сделать всё правильно.

Радует такой подход, и рад, что одна из самых красивых библиотек для работы с анимациями теперь есть и на Compose.
1.4K views13:05
Открыть/Комментировать
2021-07-28 21:49:30 ​​Релиз Jetpack Compose
#compose

Сегодня состоялось важное событие — релиз Jetpack Compose .
Теперь уже нет сомнений, что это новый вектор развития UI в Android-разработке, а у разработчиков появилась новая задача в бэклоге, связанная с переездом или пробой нового фреимворка.

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

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

Поделитесь своим мнением в комментариях. А какие материалы по Jetpack Compose вам интересны?
1.4K views18:49
Открыть/Комментировать
2021-07-28 15:05:00 ​​Фоновые задачи в Android 12
#android #workmanager

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

Альтернатива — WorkManager, которые уже довольно долго являетя приоритетным средством для запуска фоновых задач, с новой фичей — Expedited jobs. Они позволяют запускать короткие и важные задачи, давая системе больше контроля над доступом к ресурсам.
Теперь можно будет не выводить уведомление пользователям, однако не всё так просто.

Из плюсов можно выделить:
• минимальное время запуска;
• меньшая зависимость от Battery Saver и Doze.

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

Тут описан процесс миграции ваших задач. Процесс выглядит довольно просто, но пока не совсем понятно, насколько хорошо будут работать приложения, которым нужно проводить в фоне больше, чем 3 минуты.
1.6K views12:05
Открыть/Комментировать
2021-07-26 17:05:00 ​​Annotation processors с KSP
#kotlin #api

KSP — это API от Google для создания лёгковесных плагинов для компилятора Kotlin и annotation processors.
На практике мало кто использует написание плагинов с нуля, но подобные знания могут значительно увеличить скорость решения некоторых задач. Да и в целом полезно знать что ещё можно сделать и какие API для этого есть.

Если эта тема хоть немного вам интересна, то вот простой туториал для старта. В нём автор пишет плагин, который преобразовывает:
@Function(name = "myAmazingFunction")
interface MyAmazingFunction {
val arg1: String
val arg2: Map>
}

В функцию следующего вида:
fun myAmazingFunction(
arg1: String,
arg2: Map>
) {
println("Hello from myAmazingFunction")
}

Рассматривается всё, начиная с информации о базовой структуре проекта и заканчивая реализацией и примерами кода.

Ссылка на статью тут.
3.0K views14:05
Открыть/Комментировать