Size: a a a

Android Broadcast

2019 March 06
Android Broadcast
Пример иерархии типов в Kotlin
источник
2019 March 08
Android Broadcast
#LibUpdate #JakeWharton

ThreeTebABP 1.2.0

Вышел новый релиз библиотеки ThreeTebABP, который добавил возможность загружать базу данных часовых поясов, расположенных в asset-ах
источник
Android Broadcast
#Kotlin

When You Should Use Null in Kotlin

Является ли значение null проблемой и стоит ли избегать его использования? Например, я видел что разработчики используют пустые строки как значения переменных типа String, которые не проинициализированы.

К сожалению, репутация null испорчена системой типов в Java, частые NPE и множество if (value != null). null - это хороший выбор для представления состояния, когда у вас не проинициализрован объект, либо не доступен в текущий момент.

Для того чтобы ваше работы с null не приводила к ошибкам в Kotlin было сделано множество средств:
👉 система типов, различающая nullable и non-nullable типы
👉 безопасные вызовы ( ?. )
👉 безопасные приведения ( as? )
👉 else shorthand ( ?: )
👉 неизменяемые переменные

Язык должен помогать вам писать код как это логически правильно и не заставлять использовать что-то из-за своих ограничений. Kotlin старается соответствовать этим ожиданиям и у него это прекрасно получается!

Не бойтесь null, так в нем есть польза.
источник
Android Broadcast
#AndroidLint #Performance #BestPractices #CodeQuality

Android Lint Performance Tips

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

Как ее увеличить читайте в статье из обсуждений о производительности Lint из Google Groups.

Замечание: Информации много и я не смог ее уместить в небольшой пост, поэтому чтобы не захламлять канал я вынес статью.
источник
Android Broadcast
#GoogleMaps #GooglePlayServices #PlacesSDK

Introducing new, improved Places SDKs

Обновляется Google Maps Places SDK для Android. Что важного:
👉 Теперь API не привязано к Google Play Service и распространяется отдельным артефактом com.google.android.libraries.places:places:1.0.0
👉 Больше нет ограничения на количество запросов в день
👉 Более частные обновления и оперативное исправление багов
👉 Возможность получать новую информацию об местах: время работы, количество отзывов
👉 Доступ к plus codes - краткие коды, которые позволяют предоставить адрес для любого места на земле, даже в тех районах где традиционные адреса не существуют

Cтарое Places SDK будет закрыто 29 июля 2019
источник
Android Broadcast
#Grow #EPAM

EPAM grow.by - Grow yourself and help others to grow with us

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

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

Портал grow.by сделали открытым чтобы любой желающий мог посмотреть какие требования предъявляются для людей на различных уровнях и какие навыки вам надо подтянуть. Если же вы ментор, то вы можете при помощи портала выстроить программу менторинга для своих подопечных.
источник
2019 March 09
Android Broadcast
#AndroidX #ArchComponents #Lifecycle

Detecting when an Android app is in foreground or background

Как вы определяете что приложение ушло в фон или пользователь закрыл все Activity в приложение? В Android Architecture Components есть прекрасное решение для этого - ProcessLifecycleOwner.
источник
Android Broadcast
#StrictMode #Library

StrictModeCompat

StrictMode в Android помогает находить различные проблемы в приложениях: выполнение I/O операций на главном потоке, незакрытые БД, неподходящие ресурсы и прочее.

Проблема в том, что это API очень фрагментировано и обновляется от версии к версии, и конфигурировать его для корректной работы на любой версии Android неудобно.

Для того чтобы эффективно использовать это API, я разработал библиотеку StrictModeCompat, которая позволяет не переживать есть ли API на текущей версии Android или нет - все что можно будет включить из того что вы захотели, будет включено.

Библиотека поддерживает Android 4.0+, Java 7 и имеет Kotlin DSL для удобной конфигурации.
источник
2019 March 11
Android Broadcast
#Coroutine

Coroutine Context and Scope от Романа Елизарова

CoroutineScope и CoroutineContext очень похожие концепты, CoroutineScope содержит одно единственное свойство - coroutineContext.

В своей статье Роман Елизаров показывает зачем одним и тем же сущностям порой пристают разные имена, чтобы явно продемонстрировать их разные цели применения.
источник
Android Broadcast
Построение CoroutineScope для вложенных корутин
источник
Android Broadcast
Пользуетесь ли вы Chromecast ?
Окончательные результаты
24%
Да
54%
Нет
22%
Не знаю что это
Проголосовало: 54
источник
Android Broadcast
#Podcast #Concurrency #Kotlin

PODLODKA #102: Многопоточность

Многие её побаиваются, и не исключено, что кто-то из-за неё даже заваливал собеседования на особо каверзных вопросах. Многопоточность! Что это такое, и с чего все началось? Чем отличаются concurrency и параллелизм, как это все работает? Об этом всём мы поговорили с человеком, чья работа (помимо всего прочего) – проектировать механизм корутин в языке Kotlin. У нас в гостях Роман Елизаров из JetBrains.
источник
Android Broadcast
#GooglePlay

Supplement your earnings with rewarded products

Google Play добавила поддержку rewarded products (вознаграждаемые продукты). Первый тип таких продуктов - это видео, за просмотр которых пользователь может получать внутриигровую валюту, призы и пр.

Продукт основан на AdMob и сейчас находится на стадии бета тестирования.

Подробнее о том как интегрировать вознаграждаемые продукты
источник
Android Broadcast
Пример rewarded product
источник
2019 March 12
Android Broadcast
#Chromecast

Интегрируем Chromecast в Android-приложение

Я люблю свой Chromecast - взял и пошарил YouTube на большой экран и наслаждаемся контентом, подключил его к любому телеку и получил простой вариант SmartTV. Интеграция этой технологии работать вашему приложению на Android TV, телевизоры, колонки и др.

Ребята из MobileUp описали хорошую инструкцию как интегрировать поддержку технологии в ваше приложение. Подробности по ссылке.
источник
Android Broadcast
Простой пример работы Chromecast 😀
источник
Android Broadcast
Всем привет!

Когда я начинал делать канал Android Broadcast, я не думал, что найду множество людей которым будет интересно читать мои обзоры. В последнее время из-за моего активного участия в SchoolKT, GDG Minsk и подготовкой выступлений на конференция я просто не успеваю вас ежедневно радовать интересными материалами.

Чтобы наверстать это я решил обратиться к вам и попробовать себя в качестве обозревателей статей, а возможно и авторов! Вы можете написать небольшой обзор статьи, скинуть мне в личку (@krlrozov) и я опубликую его в канале.

Если у вас есть желание помочь каналу другим способом - всегда буду рад услышать ваши предложения!
источник
Android Broadcast
android_broadcast
Пользуетесь ли вы Chromecast ?
Окончательные результаты
24%
Да
54%
Нет
22%
Не знаю что это
Проголосовало: 54
Результаты опроса "Пользуетесь ли вы Chromecast?"

На мое удивление больше половины не использует, а тех кто использует примерно столько кто и не знает.
источник
Android Broadcast
#Kotlin #Coroutines

Caching with Kotlin Coroutines

Ребята из EPAM разработали библиотеку Coroutine Cache, которая упрощает кеширование данных при обработки запросов с помощью Coroutine. Один из ее авторов - Владимир Иванов в статье освещает проблему, из которой возникла идея для создания решения, и как пользоваться библиотекой.
источник
Android Broadcast
#AndroidStudio

Android Studio 3.3.2

Вышла очередное обновление Android Studio, которое исправляет баги. Ждем Android Studio 3.4, которая уже находится на стадии RC
источник