Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
368 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#RecyclerView

Smooth cross RecyclingViews Swipe от Elye

Хотели сделать вложенный горизонтальный RecyclerView внутри вертикального RecyclerView как в Google Play? Вот вам руководство как правильно обрабатывать события жестов с помощью RecyclerView.OnItemTouchListener. За всеми подробностями реализации смотрите статью либо смотрите исходники на Github.
#Git #Github

New Year, New GitHub

Хорошие новости - GitHub пересмотрел свои планы и теперь приватные репозитории доступны в бесплатном плане. Меняются при Microsoft взгляды на сервис!
#Kotlin #Contracts

Understanding Kotlin contracts от Marcin Moskala|KtAcademy

В Kotlin 1.3 появился новый экспериментальный функционал - Contracts. Он позволяет вам описать дополнительную информацию для компилятора о работе функции. Аналогичный функционал был уже на уровне аннотаций в Idea для Java. Мартин в статье рассказал о том, как работает этот механизм.
#Library #Debug #Dagger

Developing and Debugging on Android with DevFun от Alex Waters

Как часто в вашем коде бывает код вида:
if(BuildConfig.DEBUG) // Сделать что-то

Избавляться от этого можно разными способами. Я использую возможность размещать код в отдельных Flavor и при помощи Dependency Injection подменяю функционал в зависимости от текущего билда. Решение неудобно в поддержке 😞.

В статье ребята делятся своим решение основанным на аннотациях, кодогенерации и рефлексии. Оно позволяет вам:
👉 Вызывать функции из приложения в любое время из любого места
👉 Вызывать функции с параметрами, введенными во время работы приложения
👉 Предоставляет удобный интерфейс для дебага
👉 Подмена зависимостей Dagger 2
👉 Возможность добавление своих собственных модулей
👉 И МНОГО ВСЕГО ПРОЧЕГО

Самое классное, что ни одна строчка кода не попадет в код продакшен сборки вашего приложения!

Для тех кто любит сразу смотреть сырцы GitHub DevFun - Developer (Fun)ctions👉
#GooglePlay #Subnoscriptions

Google will be turning on the Restore feature for all developers

Google Play имеет возможность восстановления подписок до их окончания - Restore feature. На текущий момент она может быть отключена разработчиком, но с 15 апреля она будет включена для всех по умолчанию.

Google рекомендует всем проверить работу вашего приложения с включенной функцией. В статье вы найдете все рекомендации.
#AOP #Kotlin

Aspect-oriented programming (AOP) vs functions от Roman Elizarov

Сравнение аспектно-ориентированного подхода и функционального для решения задач от папы корутин в. Kotlin 😀
#Library #SQL #Kotlin #Multiplatform

SQLDelight 1.0 - Generates typesafe Kotlin APIs from SQL

Вышла первая стабильная версия библиотеки SQLDelight, которая позволяет вам генерировать API из ваших SQL запросов на Kotlin Multiplatform.

Механизм работы с библиотекой простой:
1️⃣ Подключаем Gradle плагин SQLDelight
2️⃣ Описываем ваши SQL запросы в .sq файлах
3️⃣ Подключаете драйвер для вашей платформы
4️⃣ Используем БД через сгенерированный код

Почему стоит использовать SQLBright:
👉 Чистый Kotlin!
👉 Проверка SQL запросов, схемы и миграций
👉 Поддержка подстветка SQL синтаксиса, рефакторинга и автодополнения в Idea/Android Studio
👉 Поддержка Android, iOS и JVM
👉 Поддержка RxJava
👉 Поддержка Kotlin Multiplatform
👉 Поддержка Android Paging библиотеки
#Android #Fragment #Dialog #Library

Dynamic Dialogs - Improved dialogs and dialog fragments for Android

Удобная библиотека, которая позволяет вам упростить создание диалогов с помощью шаблона Builder. Теперь вам не нужно создавать подклассы для всех диалогов (вы же все диалоги делайте на основе Fragment). Работает как с обычными диалогами, так и DialogFragment.
#Kotlin

Five things you might not know in Kotlin от Piotr Mądry

Все ли вы знаете о Kotlin? В статье рассказывается о:
1️⃣ Pair - создание через to
2️⃣ data класс - destructuring declaration
3️⃣ Spread оператор для vararg аргументов
4️⃣ Sealed классы - Enum на стеройдах
5️⃣ В делегатах скрыта большая сила
6️⃣ Reified типы в inline функциях!

Оставляй голос под постом и узнаем кто крут
#DataBinding #BestPractices

Data Binding — Lessons Learnt от Chris Banes|Google

Библиотека Data Binding предлагает удобный способ для задания данных в UI, но не забывайте о правиле Человека-Паука. В связи с этим рекомендую познакомиться с советами по использованию библиотеки:
👉 Используйте стандартные binding когда это возможно
👉 Кастомные binding должны стараться избегать вызовов перерисовки UI
👉 Будьте внимательны с тем что вы объявляете как переменные
Используете ли вы Android Data Binding библиотеку у себя в проектах?
Final Results
30%
Да
70%
Нет
0%
Что это?
#Distribution #GooglePlay

10 tips to optimize app engagement от Jeni Miles

Ты самый крутой разработчик и можешь сделать крутую архитектуру, написать кучу Unit и Instrumentation тестов настроить все CI. Вы нажимаете "Опубликовать" в Google Play и не видите сумасшедшего использования вашего приложения, то вы становитесь 😞. Но не стоит рано опускать руки - готовьтесь к новой, и скорее всего самой сложной задаче для вашего проекта - его развитию и поддержке. В статье вы найдете советы как развивать ваше приложение после релиза.
#Square #Payments #SDK

Square запустила SDK для платежей в приложение под Android и iOS

Ребята из Square подарили нам множество замечательных Open Source библиотек, а теперь сделали собственное SDK чтобы вы могли проводить платежи прямо внутри вашего приложения. Единственное что вам надо помнить - политику по оплате Google Play.
#LibUpdates

LeakCanary 1.6.3

Вышла новая версия LeakCanary. Она привнесла только багфикс 😀
#UI #CustomView

How to maximize Android’s UI reusability — 5 common mistakes от Carlos Palacin Rubio

Какими свойствами должна обладать Custom View, чтобы быть удобной в использование? Основные принципы:
👉 Читабельным
👉 Тестируемым
👉 Переиспользуемым
👉 Поддерживать предпросмотр в Layout Editor
👉 Не выходить за рамки времени отведенного для отрисовки кадра

В статье вы найдете рекомендации по тому как добиваться этих результатов. Также рекомендую прочитать "Optimizing the View"
#Architecture

How to Ship an App Rewrite Without Risking Your Entire Business от Uber Engineering

Инженеры Uber уместили в одно APK 2 приложения: старую и новую версию клиента Uber для водителей. Хотите узнать зачем они решили таким образом тестировать новый клиент, чем их не устроил механизм раздачи альфа/бета версий в Google Play, а самое главное как они реализовывали работу приложения - прошу за подробностями в статью.
#AndroidAcademy

Android Academy Minsk запуска Advanced Course

В понедельник 19 января стартует новый курс от Android Academy - Advanced. Занятия будут проходить в SPACE. В программе вас ждет 5 лекций:
1️⃣Android CPU, Memory | Йонатан Левин | 14 января
2️⃣Multithreading|Кирилл Розов | 4 февраля
3️⃣GPU - From Pixel to View|Алина Жданова| 25 февраля
4️⃣Network|Павел Щегельский| 18 марта
5️⃣Architecture: MVP, MVVM, MVI, Clean Architecture| Павел Слюсар, Павел Богрецов, Алексей Ивановский| 8 апреля

Обязательно проходите регистрацию и присоединяйтесь к Android Academy Slack
#SQL #Kotlin #InlineClasses #SqlBrite

Inline Classes Make Great Database IDs от Jake Wharton

Замечательный пример использования нового функционала из Kotlin в 1.3 на практики - обернуть id элементов из базы данных в объект и не потерять на этом в производительности.
#AndroidLint #Kotlin #library

Lin - made Android Lint tool simpler

Для всех тех, кто пишет собственные правила в Android Lint, рекомендую обратить внимание на новую библиотеку, цель которой упростить вашу задачу с помощью изящного Kotlin API для объявление правил!