Android Broadcast
14.2K subscribers
3.53K photos
341 videos
11 files
5.9K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Decompilation #Reverse

Reverse engineering an Android Application

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

В статье автор даёт азы реверс-инжиниринга, на примере показывает сам процесс, получая доступ к скрытому API, и рассказывает какими утилитами он пользуется, для того чтобы добраться до необходимых данных в декомпелируемом приложении.
#Android #UnderTheHood

Android Vitals - Rising to the first drawn surface

Продолжение статей о запуске Android приложения. В новой части рассказывается про запуск первой Activity приложения при холодном старте
#Subscription

Как внедрить in-app подписки в Android-приложения: советы и рекомендации

В апреле 2020 года Google выпустил обновления правил по работе с in-app подписками. Новые меры направлены на то, чтобы сделать условия получения услуг для пользователя более прозрачными: все важные условия должны быть четко сформулированы, ясны для пользователя и изложены полностью, в т.ч. условия о размере и периодичности списаний, окончании бесплатного пробного периода, изменении или отмены подписки и т.д.

В статье указаны основные рекомендации по in-app подпискам в Google Play от команды Центрального Маркетинга Mail.ru Group, которые они собрали в результате изучения новых требований и анализа более сотни случайных приложений.

В статье и в самих требованиях можно найти примеры распространенных ошибок.
#Figma #UI

FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты

Статья о том, как получилось автоматизировать экспорт цветов, иконок, картинок из Figma в iOS или Android проекты.

Проблемы, которые решались:
1️⃣ нет возможности автоматически экспортировать цвета, необходимость корректировки скопированного имени цвета
2️⃣ неудобный экспорт иконок и иллюстраций стандартными средствами: файлы экспортируется в несколько вложенных директорий, необходимость переименования имени файла, ручной перенос в проект или конвертация SVG в vector drawable XML

В результате поиска решения, была создана утилита FigmaExport. Для работы необходимо договориться с дизайнером о том, как хранить цвета, иконки, картинки и потребуется использовать Team Library (дизайнеру нужна платная подписка на Figma).

Также из статьи можно узнать про способы расширения функционала в Figma (Figma-плагин и Figma API) и их короткое сравнение.
👍1
#AndroidBroadcast #Mentor

Всем привет! С вами Кирилл Розов. Я помню, как я учился программированию (2011 год) и что было плохо, а что наоборот было хорошо. С опытом я вывел формулу, которая играет самую важную роль - наличие ментора.

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

Можно подумать, что менторство помогает только тому кто учится, но нет! Для ментора это приобретение:
👉 Заведение знакомств
👉 Получение навыков донесения информации
👉 Работа с менее опытными разработчиками
👉 Навык постановки задач
👉 Структурирование подачи данных
👉 Изучение подход работы с людьми

Все это поможет двигаться вам на уровень Senior, Lead, а может и вовсе сменить ветку, ведь помимо технических навыков вам все больше будут нужны навыки коммуникации и менеджмента (soft skills).

Я предлагаю всем желающим присоединится к программе в качестве Ментора или Падавана и помочь тем, кому это нужно.

Участие абсолютно бесплатное, Android Broadcast выступает лишь в роли медиатора, чтобы помочь вам найти свою реализацию, а Кирилл Розов и др. ребята из сообщества поделятся своими знаниями и ответят на ваши вопросы

Заполнить форму здесь
👍1
Соскучились по постам 🤨 ?
Final Results
66%
Да
11%
Нет
17%
Нейтрально
6%
Не участвую в опросе
Почему iPhone хватает 4 ГБ ОЗУ, а Android — нет?

Для флагманов Android ставить 8 Гб оперативки, а то 12 и 16 - это норма. Порой в компьютерах памяти меньше. С другой стороны iPhone столько оперативной памяти не имеют и работают хорошо.

Все это связано с разными принципами компрессии памяти и выгрузки приложений при ее нехватке.
​​#Gradle

Introducing Configuration Caching

В предстоящей версии Gradle 6.6 появится новая экспериментальная возможность - Configuration Caching, которая значительно ускоряет фазу конфигурации Gradle проекта.

Чтобы новая возможность заработала, плагинам надо её поддержать (полный список требований).

Поддержка configuration caching появится в Android Gradle Plugin 4.2 и ожидается в Kotlin 1.4.20. Информацию по другим популярным Gradle плагинам можно найти здесь
#ChromeOS

ChromeOS.dev — A blueprint to build world-class apps and games for Chrome OS

"Продажи Chromebook растут в несколько раз быстрее чем другие ноутбуки" - это причина по которой Google предлагает нам активнее поддерживать на Android эту платформу. Платформа также активнее упрощает разработку приложений на ней: поддержка эмулятора, Linux терминал и др.
#wear

What’s happening in Wear OS by Google

Жива ли WearOS или нет? Может ли жить платформа без устройств на ней? Google продолжает развивать ОС:
👉 Осенью будет обновление со значительным улучшением производительности и системного UI, таймер для мытья рук, улучшенное приложение погоды
👉 Новые производители WearOS часов - Oppo, Suunto и Xiaomi
👉 Обновление WearOS до Android 11 и недавняя androidx.wear 1.1.0
#UI #View

Writing Performant Layouts

Jetpack Compose все еще в разработке, а это значит что старый UI на View все еще с нами и нам надо писать его эффективно, помня о его проблемах.

В статье вы найдете основные рекомендации. Новичкам полезно, а вот бывалым верстальщикам будет просто тратой времени!
#AndroidBroadcast #Analytics #Architecture

Делаем аналитику правильно c Aviasales.ru
Где: YouTube канал Android Broadcast
Когда: среда, 19 августа, 20:00 (GMT+3)

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

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

Своим опытом делится Максим Дворецкий, Android разработчик в Aviasales, которые не так давно прошли через рефакторинг своей аналитики.
#Kotlin #Coroutines

Вышли Coroutine 1.3.9
👉 Поддержка CoroutineContext в Flow.asPublisher и других билдерах (#2155).
👉 Обновление Kotlin до 1.4.0 (анонс уже совсем скоро)
👉 Переход на новую схему публикацию мультиплатформенных библиотек - HMPP (Hierarchical MPP). Тоже новая фича 1.4. Скоро появится отдельный пост об этом

Что изменилось в артефактах:
👉 Удалены kotlinx-coroutines-core-common и kotlinx-coroutines-core-native 
👉 Для мультиплатформенного использования теперь достаточно подключить kotlinx-coroutines-core в commonMain
👉 Тот же артефакт может использоваться в качестве зависимости для platform-specific артефакта в platform-specific source-set.
#RxJava #Backpressure

Анатомия backpressure в реактивных потоках

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

В качестве примере автор приводит код, в котором он описал упрощённый механизм backpressure при помощи обычного семафора.
This media is not supported in your browser
VIEW IN TELEGRAM
#Kotlin #Kotlin1_4

Вышел Kotlin 1.4

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

Давайте конкретнее:
👉 Скорость подсветки синтаксиса выросла от 1.5 до 4 раз, как и автодополнение
👉 Отладчик Coroutine
👉 Обновленный мастер для создания Kotlin проектов
👉 Обновленный компилятор
👉 Новая система вывода типов (Type Inference)
👉 SAM для Kotlin интерфейсов
👉 Улучшения стандартной библиотеки
👉 Explicit режим для авторов библиотек, который заставляет явно указывать модификаторы доступа и др. важные для библиотек вещи
👉 Возможность использовать именованные и позиционные аргументы
👉 В конце параметров теперь можно ставить запятую
👉 Теперь можно использовать break и continue внутри when выражений, который находятся в циклах
👉 Улучшения в Kotlin Multiplatform

Также добавили всего много нового экспериментального
#BestPractice

Android Development | Best Practices

Большая статья от разработчика с более чем пятилетним опытом в Android разработке, которая содержит 25 советов и рекомендаций, для того чтобы улучшить и оптимизировать ваше приложение. Среди рекомендаций:
👉 Выбор архитектуры и Build Type'ов
👉 Рекомендации по работе с изображениями и layout'ами
👉 Много советов по безопасности приложения
👉 Оптимизация Gradle

К какому пункту автор даёт пояснение и полезные ссылки.
#Notifrications #Kotlin #DSL

Android Notifications DSL 0.1.0

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

Удобство создания Notification в Android SDK хромает:
👉 Множество Builder-ов
👉 Фрагментированность возможностей уведомлений на разных версиях Android
👉 Непонятно какие параметры надо явно задавать, чтобы получить необходимый тип уведомлений
👉 Отсутствие Compat API для NotificationChannel
👉 Как хорошо реализовать альтернативный вариант для старой версии Android, а для новой показывать более функциональный?

Все это заставило задуматься о создании библиотеки Android Notification DSL, которая позволит избавиться от этих недостатков. Библиотека опирается на возможности NotificationCompat и Notification из Android SDK

Разработчику библиотеки @krlrozov очень важна ваша обратная связь. Пишите в личку или давайте обсуждать в @android_broadcast_talks
#Kotlin #DateTime

Первый релиз Kotlinx DateTime - 0.1.0

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

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

Библиотека включает в себя классы:
👉 Instant
👉 Clock
👉 LocalDateTime
👉 LocalDate
👉 TimeZone и ZoneOffset
👉 Month и DayOfWeek 
👉 DateTimePeriod
👉 DatePeriod
👉 DateTimeUnit

В репозитории вы найдете больше подробностей и примеры использования нового API