Android Broadcast
14.1K subscribers
3.41K photos
301 videos
11 files
5.71K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Multiplatform #Kotlin #CI #CD

Continuous delivery для вашей Kotlin Multiplatform библиотеки

Kotlin MPP сейчас одно из самых многообещающих решений для шаринга кода между платформами (мнение лично моё). Да есть Flutter и я жду интересной битвы в будущем.

Уже сейчас любому Android разработчику, использующему Kotlin, можно легко заглянуть в будущее языка и узнать как шарить код и с какими проблемами сталкиваются разработчики, которые пишут реальные проекты и выпускаются open source библиотеки.

В статье вы найдёте опыт ребят из Badoo по выстраиванию инфраструктуры CI и CD для сборки и публикации библиотеки Reaktive.
Вам интересно читать посты о Kotlin Multiplatform?
Anonymous Poll
70%
Да
30%
Нет
#Emulator #CI #Docker

Continuous testing with new Android emulator tools

Google открывает доступ к своим скриптам для Docker Container-ов c Android эмулятором, чтобы помочь разработчикам упростить тестирование последних изменений.

Помимо этого Google предоставила следующее:
👉 Скрипт для загрузки эмуляторов (AOSP и Google Play Services)
👉 Генератор Docker образов с Android эмулятором
👉 Поддержка работы по ADB с эмулятором в контейнере
👉 Remote streaming: возможность подключения к эмулятору из контейнера через браузер и видеть что происходит, а также взаимодействовать с ним

Пока образ работает только на Linux, но работы по поддержке macOS и Windows ведутся.
#ChromeOS #LargeScreen

VLC optimizes its Android app for immersive video experiences on larger screens

VLC - самый популярный плеер, доступный на любой из современных платформ: Windows, macOS, Android, iOS. Команда приложения захотела сделать его еще более доступным и адаптировать своё Android приложение для корректно работы на Chrome OS. Что для этого надо было сделать:
👉 Поддержка экранов с большой диагональю
👉 Поддержка управления клавиатурой и мышкой
👉 Поддержка работы в плавающем окне
👉 Поддержка изменения размера окна
👉 VLC - это о видео и звуке, а поэтому надо поддержать нативный код для x86 и x86_64, которые популярны в Chromebook-ах

Будет классно услышать кого-то с опытом адаптации Android приложения для Chrome OS в @android_broadcast_discussions
This media is not supported in your browser
VIEW IN TELEGRAM
SurveyKit: Create beautiful surveys on Android

Любите делать опросы? Тогда вам пригодится библиотека SurveyKit
#AndroidX

Количество артефактов в Android огромное, чтобы посмотреть их можно полазить в документации либо зайти на maven.google.com. Сегодня сайт стал удобнее - на нем наконец-то появился поиск 🎉
#ConstraintLayout #AndroidX

Awesomeness of ConstraintLayout Flow

Мы уже давно ждем ConstrainLayout 2.0, а особенно MotionLayout + визуальный редактор анимаций в Android Studio! Но вот уже с Google I/O 2019 они весят в статусе beta 😞.

В статье рассматриваются новые элемент - Flow. Flow позволяет улучшить расположение элементов, нечто подобное на Chain, но уже работает не в первом измерение а одновременно по горизонтали и вертикали.
#Gradle #Bazel #Buck

Сборка Android-приложения. Задачка со звёздочкой

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

Есть ли сборка на Android вне Gradle? В статье вы найдете сравнение стандартной системы сборки с Bazel и Buck
#Material #UI

Material Components for Android 1.1.0 Beta 1

Google имеет странную особенность в плане Material Design - представлять его намного ранее чем готовы его компоненты для адаптации приложениями и в системе. Так было с первой версий дизайна и со второй. Поэтому сообщество активно начало представлять свои реализации компонентов.

Наконец-то Google подходит к первому значительному обновлению библиотеки Material Design 2.0 для Android:
👉 Поддержка темной темы
👉 Новый пикер для даты
👉 Табы и Bottom Navigation поддерживают Badge
👉 Добавлен Extended FAB
👉 Поддержка новой системой навигации из Android 10
👉 Поддержка Material Theming: Shape, Typography, Color
👉 MaterialAlertDialogBuilder - диалог в Material стиле
👉 Улучшение стабильности
👉 Улучшение accessibility
👉 Улучшение анимаций

Очень хочется чтобы обновление спецификации Material Design шло в ногу с библиотекой Material Component for Android
#Resources

Split layouts into sub-folders in Android Studio

Как много лежит у вас ресурсов в папках каждого типа (layout, drawable и пр)? У меня много XML в layout, и меня это все время огорчает. Возможно Jetpack Compose это исправить, но пока приходится делать хаки.
#Kotlin #CodeQuality

Вышел Detekt 1.1.0

Вышла новая версия статического анализатора Kotlin кода Detekt, в которую попали исправление багов, улучшение старых и новые правила.
#Security #NDK

Securing API Keys using Android NDK

У Java байткода есть один минус - его легко декомпилировать и вытащить строки, а в строках разработчики обычно хранят различные ключи для доступа к сервисам.

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

Как вшить ключи в приложение и сделать это надежнее? Используйте нативный код. В статье вы найдете руководство как сохранять ключи в нативном коде и работать с ними из Java/Kotlin.
Telegram имеет возможность "Instant View" (https://instantview.telegram.org). Используете ли вы эту фичу?
Final Results
42%
Постоянно когда доступна
21%
Иногда
11%
Нет
25%
Что это?
#ReactiveX #Kotlin #Multiplatform

Вышел Reaktive 1.0.0

Состоялся первый стабильный релиз библиотеки Reaktive. Это решение примечательно тем что это первый реализация любимого многими Rx на чистом Kotlin да причем еще с реализацией на Kotlin Multiplatform c поддержкой JVM, Android, iOS, JS и Linux.

Пал еще один из столпов - RxJava и проекты все больше становятся чисто-чисто Kotlin.
#Meetup #Minsk

GDG Minsk Mobile Meetup

Сегодня, 8 октября, состоится митап сообщества GDG Minsk по Android. Митап сконцентрируется на Jetpack:

Android Navigation component спешит на помощь
Артем Нестеренко, Android developer, LWO (Light Well Organization)

Артем познакомит с Navigation component и расскажет как организовать навигацию в вашем приложение с его помощью, насколько удобен визуальный редактор, какие есть сложности и как можно их обойти.


Jetpack Compose
Евгений Ковалев, Senior Android Developer, Ciklum
Jetpack Compose - это самый ожидаемый проект от разработчиков из Google в мире Android. Декларативный UI очень удобное решение и большинство уже дали свой ответ, посмотрим что нам уже обещает сделать Google.

Участник бесплатное по предварительной регистрации.

Дата: 8 октября 19.00 (начало регистрации в 18.30)
Место: SPACE (ул. Октябрьская 16/4).
#Fragment

TransactionTooLargeException and a Bridge to Safety — Part 1

TransactionTooLargeException - это ошибка которая возникает в случае, когда ваше приложение пытается осуществить Binder транзакцию с более чем 1 Мб данных. Самый распространённый случай возникновения этой ошибки - сохранение слишком большого объёма данных в Activity.onSavedInstanceState(Bundle).

Чтобы обойти эту проблему вы можете использовать библиотеку Bridge
Android Broadcast
Telegram имеет возможность "Instant View" (https://instantview.telegram.org). Используете ли вы эту фичу?
Спасибо всем кто ответил на опрос. Думал улучшить визуальный формат постов, но пришлось бы в жертву принести "Instant View". Результаты показали мне что этого делать не стоит