Size: a a a

Android Broadcast

2019 October 18
Android Broadcast
#NDK

Introducing NDK r21

Вышла новая версия Android NDK - 21. Пока только в Beta, но новая версия привнесла важные новости:
👉 Первая версия с длительной поддержкой (LTS)
👉 LTS релизы будут выходить каждый год
👉 Отказ от поддержки Windows x32
👉 Обновление GNU Make до 4.2
👉 Обновление GDB до 8.3
👉 Обновление LLVM до r365631 (master 10 Июля 2019)
👉 Обновление libc++ до r369764
👉 Fortify включается по умолчанию при использование ndk-build или CMake toolchain
👉 ARM код теперь по умолчанию собирается с Neon по умолчанию. Это позволяют коду работать эффективнее

Хотите узнать что будет дальше, то смотрите Roadmap
источник
Android Broadcast
#Exception

Обработка ошибок в Kotlin/Java: как правильно это делать?

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

Как с этим бороться? В статье вы найдете различные подходы:
👉 try-catch
👉 Sealed классы для представления успешного результата и ошибок
👉 Функциональный тип программирования Either
👉 Использовать Option
👉 Nullable тип из Kotlin
👉 Хардкодное значение как маркер ошибки (например -1 для метода, который возвращает int)
источник
Android Broadcast
#Coroutines #Coroutines

Making Android unidirectional data flow with Kotlin coroutines 🦄

Разбор нового взгляда на архитектура от автора библиотеки Koin. Архитектура строится на основе Architecture Components и Kotlin Coroutines и основными компонентами в ней являются ViewModel, Actions & States.

Новый взгляд вылился в фреймворк Uniflow, который еще находится в разработке.
источник
2019 October 19
Android Broadcast
#GestureNavigation #Android10

Gesture Navigation: Handling gesture conflicts

Продолжение серии статей о новой системы навигации в Android 10. В новой часте рассматривается как разрешать конфликты, когда ваше приложение должно обрабатывать жесты в зонах, где находится системное управление жестами, например жесты на виджетах внизу экрана.
источник
Android Broadcast
#Performance

Fighting Regressions with Benchmarks in CI

Одна из новинок Android - библиотека Jetpack Benchmark, уже успела дойти до первой беты. Библиотека позволяет вам писать правильные тесты производительности. Библиотека отвечает за "разогрев" устройств для теста, определение проблем конфигурации и замер производительности вашего кода.

В статье рассматривается как команда Jetpack тестируется производительности своих библиотек на CI и определяет регрессии в скорости их работы.
источник
2019 October 20
Android Broadcast
#Conference #Minsk #Review #MobileOptimized

Впечатления от Mobile Optimized 2019 - крупнейшей конференции по мобильным технология в Беларуси
источник
Android Broadcast
Понравилась вам идея с обзором конференции?
Окончательные результаты
69%
Да, стоит делать такое в будущем
3%
Да, но больше не стоит
4%
Нет
24%
Не читал
Проголосовало: 181
источник
2019 October 21
Android Broadcast
#Kotlin

The problem with extension functions

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

Что с этой прекрасной возможность языка может быть не так? Как с этим связано Kotlin DSL? В этом разбирается Мартин Москала
источник
Android Broadcast
#новости

По семейным обстоятельствам я беру перерыв на ближайшие 2 недели. Что это значит? Частота новостей будет снижена и новости будут выходить реже.
источник
2019 October 22
Android Broadcast
#Automotive

Android Automotive OS updates for developers

Google развивает свою ОС для автомобилей - Android Automotive OS (не путайте с Android Auto).

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

Google добавили возможность использовать эмулятор Android Automotive OS с магазинон Google Play. Уже сейчас вы можете запросить доступ к консоле Google Play для новой ОС от Google.
источник
Android Broadcast
Используете Android Auto?
Окончательные результаты
8%
Да (через провод)
1%
Да (через Wi-Fi)
91%
Нет
Проголосовало: 205
источник
Android Broadcast
#Dagger #Multibindings

Dagger 2 Multibindings Illustrated

Dagger 2 имеет множество возможностей, хотя множество разработчиков используют его по простому сценарию: "1 модуль. 1 компонент. @Inject. AppComponent.inject(...)". Но в Dagger есть много интересного функционала. Например, Multibinding, который позволяет вам объединять зависимости одного типа из разных модулей и компонентов в Set или Map.

Когда это может пригодиться? Когда у вас есть обработчики для создания элементов по типу элементов. Это эффективно можно применить для выполнения доставки зависимостей в конструктор Fragment (поддерживается в androidx.fragment 1.1.0):
1. Предоставляете способ создания Fragment в Dagger модуле
2. Из Dagger вы можете получить Map<Class<Fragment>, Provider<Fragment>>

Код получается гибким и хорошо расширяемым. А значит мы и улучшили нашу архитектуру

В статье вы найдете руководство как использовать эту возможность библиотеки и делать архитектуру ваших приложений более гибкой.
источник
Android Broadcast
Используете ли вы Dagger 2 Multibinding?
Анонимный опрос
20%
Да
10%
Знаю, но не использую
28%
Не знал/знала что это такое
20%
Нет
22%
Использую другой DI
Проголосовало: 260
источник
Android Broadcast
#FBReader

Пишем читалку электронных книг на Android с помощью FBReader SDK

EPUB, FB2 и MOBI - это самые популярные форматы для распространения электронных книг. Для решения задачи интеграции отображения таких файлов можно воспользоваться FBReader SDK.

Библиотека имеет множество возможностей:
👉 Открытие множество файлов электронных книг
👉 Чтение метаданных из файла книги
👉 Особенности движка FBReader
👉 Возможность менять стиль текста книги и яркость
👉 Выделение текста
👉 Закладки
👉 Поиск по тексту
👉 Оглавление
👉 Дополнительная навигация по тексту
👉 Поддержка сносок и гиперссылок

Библиотека платная. В бесплатном режиме можно отображать только несколько первых страниц. Подробнее о ценах.
источник
2019 October 23
Android Broadcast
#IntelijIDEA #Gradle #Maven

Introducing Package Search EAP

Каким образом вы ищете библиотеки для решения задач в ваших приложения? Для меня пути 3:
👉 Google (90%)
👉 официальные гайды (5%)
👉 рекомендации от знакомых или из докладов (5%)

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

Чтобы решить эту проблему JetBrains выпустили плагин для IntelijIDEA - Package Search. Он позволяет находить библиотеки и ключевые ссылки к ним: исходный код, обсуждения на StackOverflow и др.

Также есть функционал для автодополнения при добавление зависимостей в Gradle и Maven, а для любителей Kotlin плагин подскажет какую минимальную версию языка требует библиотека и какие платформы поддерживаются, если библиотека мультиплатформенная.

Уже запланировано множество нового функционала на будущим релизы.
источник
Android Broadcast
#Security #SharedPreference

Encrypted Preferences in Android

androidx.security в активной разработке, частью которая являются возможность использования зашифрованных SharedPreference. В статье разбирается как работать с EncryptedSharedPreferences и сравнивается производительность с обычными настройками.
источник
Android Broadcast
#DependencyInjection #Dagger

Вышел Dagger 2.25

Вышла новая версия популярного DI фреймворка. В новой версии не произошло значимых изменений были сделаны следующие улучшения:
👉 Поддержка Kotlin: для модулей, которые являются object, больше не надо помечать каждый метод как @JvmStatic и квалификаторы теперь можно добавлять аннотациями на property
👉 Исправление багов
👉 Улучшение производительности

Посмотрел историю последних релизов. Dagger уже давно не показывал новых фич и задумался: "Dagger уже стал идеальным либо иссякли идеи у создателей?"
источник
Android Broadcast
источник
Android Broadcast
#AndroidDevSummit #AndroidStudio #MotionLayout #JetpackCompose

Прошел Keynote Android Dev Summit 2019. Быстро пройдемся по анонсам:
👉 Android Studio 4.0 Canary 1
👉 Jetpack Compose можно использовать из Android Studio (AS)
👉 Для Jetpack Compose теперь работает предпросмотр (правда нужно компилить код)
👉 Визуальный редактор для анимаций на основе MotionLayout уже можно использовать из новой AS
👉 Поддержка Gradle Kotlin Script в AS
👉 CameraX уже в Beta
👉 Большой обновление библиотек из Jetpack
👉 Сертификация "Associate Android Developer: Kotlin"

Ставлю что стабильный релиз AS 4.0 будет в апреле-мае следующего года, без стабильного Jetpack Compose

Будет больше новостей в ближайшие дни и обзоры обновлений!
источник
2019 October 24
Android Broadcast
#AndroidDeveloperChallenge

Android Developer Challenge: helpful innovation, powered by On-Device Machine Learning + you!

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

10 лучших разработчиков получат помощь, экспертизу и обучение, фичиринг на Google Play, билет на Google I/0 2020 и пиар
источник