#Gradle #Bazel #Buck
Сборка Android-приложения. Задачка со звёздочкой
Сборка современного Android приложения - непростая задача . Множество библиотек, многомодульность, использование плагинов, процессоров аннотаций и др. Система сборки Gradle не радует своей скоростью.
Есть ли сборка на Android вне Gradle? В статье вы найдете сравнение стандартной системы сборки с Bazel и Buck
Сборка Android-приложения. Задачка со звёздочкой
Сборка современного Android приложения - непростая задача . Множество библиотек, многомодульность, использование плагинов, процессоров аннотаций и др. Система сборки Gradle не радует своей скоростью.
Есть ли сборка на Android вне Gradle? В статье вы найдете сравнение стандартной системы сборки с Bazel и Buck
Хабр
Сборка Android-приложения. Задачка со звёздочкой
Привет, Хабр! Летом я выступал на Summer Droid Meetup с докладом про сборку Android-приложения. Видеоверсию можно найти здесь: habr.com/ru/company/funcorp/blog...
#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
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
GitHub
Release 1.1.0-beta01 · material-components/material-components-android
Dependency Updates:
Dependency
Previous version
New version
appcompat
1.1.0-rc01
1.1.0
core
1.1.0-rc03
1.1.0
vectordrawable
1.1.0-rc01
1.1.0
viewpager2
1.0.0-beta03
1.0.0-beta04
Lib...
Dependency
Previous version
New version
appcompat
1.1.0-rc01
1.1.0
core
1.1.0-rc03
1.1.0
vectordrawable
1.1.0-rc01
1.1.0
viewpager2
1.0.0-beta03
1.0.0-beta04
Lib...
#Resources
Split layouts into sub-folders in Android Studio
Как много лежит у вас ресурсов в папках каждого типа (layout, drawable и пр)? У меня много XML в layout, и меня это все время огорчает. Возможно Jetpack Compose это исправить, но пока приходится делать хаки.
Split layouts into sub-folders in Android Studio
Как много лежит у вас ресурсов в папках каждого типа (layout, drawable и пр)? У меня много XML в layout, и меня это все время огорчает. Возможно Jetpack Compose это исправить, но пока приходится делать хаки.
Android Broadcast
Совсем недавно ребята из Android Dev Podcast организовали продажу своих фирменных маек. Но вот незадача, раздавать они их будут только на российских конференциях. Я решил устранить это досадную несправедливость - Android Broadcast организовал возможность получить…
Остается последняя возможность заказать футболку
#Kotlin #CodeQuality
Вышел Detekt 1.1.0
Вышла новая версия статического анализатора Kotlin кода
Вышел Detekt 1.1.0
Вышла новая версия статического анализатора Kotlin кода
Detekt
, в которую попали исправление багов, улучшение старых и новые правила.#Security #NDK
Securing API Keys using Android NDK
У Java байткода есть один минус - его легко декомпилировать и вытащить строки, а в строках разработчики обычно хранят различные ключи для доступа к сервисам.
В таких случаях злоумышлении могут воспользоваться этими ключами в своих приложениях, но не всегда. Некоторые сервисы еще производят верификацию по сертификату, которому подписано приложение.
Как вшить ключи в приложение и сделать это надежнее? Используйте нативный код. В статье вы найдете руководство как сохранять ключи в нативном коде и работать с ними из Java/Kotlin.
Securing API Keys using Android NDK
У Java байткода есть один минус - его легко декомпилировать и вытащить строки, а в строках разработчики обычно хранят различные ключи для доступа к сервисам.
В таких случаях злоумышлении могут воспользоваться этими ключами в своих приложениях, но не всегда. Некоторые сервисы еще производят верификацию по сертификату, которому подписано приложение.
Как вшить ключи в приложение и сделать это надежнее? Используйте нативный код. В статье вы найдете руководство как сохранять ключи в нативном коде и работать с ними из Java/Kotlin.
Mindorks
Securing API Keys using Android NDK (Native Development Kit)
In this blog, we will learn how to secure our API Keys that are used in Android applications using the Android NDK (Native Development Kit). We have created a detailed blog of securing the API Keys.
#Firebase #Coroutines
Using Firebase on Android with Kotlin Coroutines
Чем будет равно
Using Firebase on Android with Kotlin Coroutines
Kotlin + Android
= ❤️Kotlin + Coroutines
= ❤️Android + Firebase
= (вынужденное использование)Чем будет равно
Android + Kotlin + Coroutines + Firebase
и как начать? В статье вы найдете ответыJoe Birch
Using Firebase on Android with Kotlin Coroutines
Whilst recently working on a side project I ran into a situation where I needed to make use of the Android Firebase SDKs. This project of mine uses Kotlin Coroutines for all of the asynchronous task handling, so ideally I wanted to keep any Firebase calls…
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.
Вышел Reaktive 1.0.0
Состоялся первый стабильный релиз библиотеки Reaktive. Это решение примечательно тем что это первый реализация любимого многими Rx на чистом Kotlin да причем еще с реализацией на Kotlin Multiplatform c поддержкой JVM, Android, iOS, JS и Linux.
Пал еще один из столпов - RxJava и проекты все больше становятся чисто-чисто Kotlin.
GitHub
Release 1.0.0 · badoo/Reaktive
First stable release
New coroutines interop module - coroutines-interop
New RxJava3 interop module - rxjava3-interop
New utilities module - utils
Performance improvements
More operators
Bug fixes
New coroutines interop module - coroutines-interop
New RxJava3 interop module - rxjava3-interop
New utilities module - utils
Performance improvements
More operators
Bug fixes
#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).
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 - это ошибка которая возникает в случае, когда ваше приложение пытается осуществить
Чтобы обойти эту проблему вы можете использовать библиотеку Bridge
TransactionTooLargeException and a Bridge to Safety — Part 1
TransactionTooLargeException - это ошибка которая возникает в случае, когда ваше приложение пытается осуществить
Binder
транзакцию с более чем 1 Мб данных. Самый распространённый случай возникновения этой ошибки - сохранение слишком большого объёма данных в Activity.onSavedInstanceState(Bundle)
.Чтобы обойти эту проблему вы можете использовать библиотеку Bridge
Medium
TransactionTooLargeException and a Bridge to Safety — Part 1
TL;DR : Stop worrying about TransactionTooLargeException; use Bridge.
#RecyclerView #NestedScrolling
RecyclerView SmoothScrollToPosition Not Working within NestedScrollView Solution
История того как заводили RecyclerView.smoothScrollToPosition(int position) с Nested Scroll
RecyclerView SmoothScrollToPosition Not Working within NestedScrollView Solution
История того как заводили RecyclerView.smoothScrollToPosition(int position) с Nested Scroll
Medium
📃RecyclerView SmoothScrollToPosition Not Working within NestedScrollView Solution— Android.✔
Scroll your recycler view within a Nested scroll view easily
Android Broadcast
Telegram имеет возможность "Instant View" (https://instantview.telegram.org). Используете ли вы эту фичу?
Спасибо всем кто ответил на опрос. Думал улучшить визуальный формат постов, но пришлось бы в жертву принести "Instant View". Результаты показали мне что этого делать не стоит
#Minsk #Breakfest
Привет! В Минске мне не хватает форматов встреч разработчиков (Android/Kotlin), где можно просто посидеть и обсудить различные темы, новости, похоливарить на вбросы, поделиться идеями и найти единомышленников.
У меня появилось желание оживить такие встречи по выходным с утра. Хотелось бы понять есть ли желание у вас. Пока говорим только про Минск.
Привет! В Минске мне не хватает форматов встреч разработчиков (Android/Kotlin), где можно просто посидеть и обсудить различные темы, новости, похоливарить на вбросы, поделиться идеями и найти единомышленников.
У меня появилось желание оживить такие встречи по выходным с утра. Хотелось бы понять есть ли желание у вас. Пока говорим только про Минск.
Готовы ли вы посещать встречи Android и Kotlin разработчиков?
Final Results
39%
Да
8%
Нет
52%
Да, но я не в Минске
Android Broadcast
Готовы ли вы посещать встречи Android и Kotlin разработчиков?
Спасибо всем большое. Я думаю в этом месяце мы организуем встречу. Обсуждаем в @android_broadcast_discussions
#Conference #Moskow
9 ноября 2019 года пройдет международная конференция GDG DevFest Moscow!
В этом году конференция станет действительно международной и будет наполнена докладами экспертов из разных стран мира: Германии, Испании, Голландии, Швейцарии, Норвегии и России.
В течение дня можно будет послушать доклады и пообщаться с экспертами на темы Android, Flutter, Google Assistant, Google Cloud, Kotlin, Machine Learning и другим.
Покупайте билет со скидкой по промокоду GDGWELCOME
9 ноября 2019 года пройдет международная конференция GDG DevFest Moscow!
В этом году конференция станет действительно международной и будет наполнена докладами экспертов из разных стран мира: Германии, Испании, Голландии, Швейцарии, Норвегии и России.
В течение дня можно будет послушать доклады и пообщаться с экспертами на темы Android, Flutter, Google Assistant, Google Cloud, Kotlin, Machine Learning и другим.
Покупайте билет со скидкой по промокоду GDGWELCOME
#Jetpack #Room #Kotlin #Coroutines
Вышла новая стабильная версия Room 2.2.0
ORM библиотека Room достигла своей новой стабильной версии. В ней появились новые возможности:
👉 Возможность иметь подготовленную заранее БД для первоначальной инициализации. Теперь не нужно парсить файлы из asset-ов или ресурсов
👉 Значения по умолчанию для колонок таблицы
👉 Поддержка отношений M:N
👉 Возможность совмещать методы для разных
👉 Поддержка Coroutines Flow
👉 Поддержка инкрементального процессинга аннотаций в Gradle
👉 Разворачивание * проекций при выборке данных, которое позволяет получать только поля, которые есть в конечной
Вышла новая стабильная версия Room 2.2.0
ORM библиотека Room достигла своей новой стабильной версии. В ней появились новые возможности:
👉 Возможность иметь подготовленную заранее БД для первоначальной инициализации. Теперь не нужно парсить файлы из asset-ов или ресурсов
👉 Значения по умолчанию для колонок таблицы
👉 Поддержка отношений M:N
👉 Возможность совмещать методы для разных
Entity
в одном Dao
👉 Поддержка Coroutines Flow
👉 Поддержка инкрементального процессинга аннотаций в Gradle
👉 Разворачивание * проекций при выборке данных, которое позволяет получать только поля, которые есть в конечной
Entity
. Опция пока экспериментальная и включается с помощью флага room.expandProjection
#Google #Android10 #GooglePlayServices
Google will require new Android devices to run Android 10 if approved after January 31, 2020
Фрагментированность версий Android - это самая большая проблема для распространения свежих обновлений ОС. Многие производители даже с выходом более нового Android выпускают новые устройства на старой версии ОС, тем самым не предоставляя пользователям последнюю версию Android.
Теперь Google вводит ограничения по сертификации устройств, использующих Google Play Services. Производители не смогут сертифицировать устройства на ОС ниже Android 10 с 31 января с 2020 года, а при выходе последующих новых версий ОС от Google сразу будет закрыта сертификация предыдущих версий ОС.
Теперь производители должны будут подмяться под Google либо пойти по пути Huawei Mate 30 и остаться без покупателей.
Google will require new Android devices to run Android 10 if approved after January 31, 2020
Фрагментированность версий Android - это самая большая проблема для распространения свежих обновлений ОС. Многие производители даже с выходом более нового Android выпускают новые устройства на старой версии ОС, тем самым не предоставляя пользователям последнюю версию Android.
Теперь Google вводит ограничения по сертификации устройств, использующих Google Play Services. Производители не смогут сертифицировать устройства на ОС ниже Android 10 с 31 января с 2020 года, а при выходе последующих новых версий ОС от Google сразу будет закрыта сертификация предыдущих версий ОС.
Теперь производители должны будут подмяться под Google либо пойти по пути Huawei Mate 30 и остаться без покупателей.
#Conference #Minsk #MobileOptimized #Promocode
19 октября пройдет крупнейшая конференция по мобильным технология в Беларуси - Mobile Optimized. Вас ждут доклады по Android, iOS и воркшоп по Flutter.
Скидка 10% по промокоду AndroidBroadcast10MO
🔺Билеты подорожают с 12 октября🔺
Вы сможете узнать из докладов:
👉 Из монолита в многомодульность. Научитесь на ошибках спикера, который расскажет о его неудаче в этой задаче!
👉 Оптимизация размера приложений с опытом разработчика WhatsApp
👉 Адаптация приложений под новую навигацию из Android 10
👉 Как же без Kotlin: доклады "Coroutines vs ReactiveX" и "Rx в Kotlin Multiplatform"
👉 Сколько данных ваше приложение хранит на устройстве? Сколько вы время тратите чтобы обеспечить безопасность этих данных? Рекомендую посетить вам доклад от Maurice Gavin, который расскажет как это сделать.
Нетворкинг - важная часть конференции. Вы можете пообщаться со спикерами и коллегами. Я также с удовольствием отвечу на ваши Android/Kotlin вопросы.
19 октября пройдет крупнейшая конференция по мобильным технология в Беларуси - Mobile Optimized. Вас ждут доклады по Android, iOS и воркшоп по Flutter.
Скидка 10% по промокоду AndroidBroadcast10MO
🔺Билеты подорожают с 12 октября🔺
Вы сможете узнать из докладов:
👉 Из монолита в многомодульность. Научитесь на ошибках спикера, который расскажет о его неудаче в этой задаче!
👉 Оптимизация размера приложений с опытом разработчика WhatsApp
👉 Адаптация приложений под новую навигацию из Android 10
👉 Как же без Kotlin: доклады "Coroutines vs ReactiveX" и "Rx в Kotlin Multiplatform"
👉 Сколько данных ваше приложение хранит на устройстве? Сколько вы время тратите чтобы обеспечить безопасность этих данных? Рекомендую посетить вам доклад от Maurice Gavin, который расскажет как это сделать.
Нетворкинг - важная часть конференции. Вы можете пообщаться со спикерами и коллегами. Я также с удовольствием отвечу на ваши Android/Kotlin вопросы.