Size: a a a

Android Broadcast

2019 January 09
Android Broadcast
#Android #Fragment #Dialog #Library

Dynamic Dialogs - Improved dialogs and dialog fragments for Android

Удобная библиотека, которая позволяет вам упростить создание диалогов с помощью шаблона Builder. Теперь вам не нужно создавать подклассы для всех диалогов (вы же все диалоги делайте на основе Fragment). Работает как с обычными диалогами, так и DialogFragment.
источник
Android Broadcast
#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 функциях!

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

Data Binding — Lessons Learnt от Chris Banes|Google

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

10 tips to optimize app engagement от Jeni Miles

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

Dependency injection in a multi module project от Bew Weiss

Еще одна история о том как происходила модуляризация приложения на примере Plaid.
источник
Android Broadcast
#Square #Payments #SDK

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

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

LeakCanary 1.6.3

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

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

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

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

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

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

London Tube Status App — from Rx to Coroutines от Joao Alves

Описание перехода с Rx на корутины на примере London Tube Status
источник
Android Broadcast
#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
источник
Android Broadcast
#SQL #Kotlin #InlineClasses #SqlBrite

Inline Classes Make Great Database IDs от Jake Wharton

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

Lin - made Android Lint tool simpler

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

Kissme: Kotlin Secure Storage Multiplatform library. The Code Story от Samuel Urbanowicz

История разработки библиотеки для защищенного хранилища на Kotlin Multiplatform с поддержкой Android и iOS, причем на каждом хранилище обеспечивается нативными платформенными механизмами.

В статье рассказывается о том что за библиотеку смогли создать и с какими проблемами столкнулись в ходе:
👉 Взаимодействие между командами
👉 Незрелый Kotlin/Native и нехватка ресурсов и документации по нему
👉 Совместимость между Kotlin и Objective-C

Kissme Github
источник
Android Broadcast
#AndroidStudio #Update #Gradle

Вышла Android Studio 3.3

🎉🎉🎉Вышла Android Studio 3.3 и Android Gradle Plugin 3.3.0 🎉🎉🎉

Что нового в Android Studio:
👉 Navigation Editor
👉 Profile Tracking Options
👉 IntelliJ IDEA 2018.2.2
👉 Instant App и Dynamic Features: теперь в одном проекте
👉 Возможность удаления папок с данными от старых Android Studio
👉 Ускорение Android Lint
👉 Автоматическая загрузка компонентов SDK
👉 Single-variant синхронизация проекта - загружайте только тот build variant, с которым вы работаете
👉 Быстрый фидбек с помощью смайлов 😀🙁

Обновление профайлеров заслуживает отдельных пунктов: 👉 настройка отслеживания памяти
👉 увеличение производительности
👉 отслеживание рендеринга кадров
👉 Fragment-ы теперь отображаются на timeline
👉 Форматирование контента в HTTP запросах

Что нового в Android Gradle Plugin:
👉 Плагин построен на Gradle 4.10.3
👉 Увеличена скорость сборки проекта
👉 Task Configuration Avoidance
👉 CMake version 3.10.2
👉 Улучшена инкрементальная компиляция Java кода
👉 С помощью флага android.debug.obsoleteApi=true можно отследить что использует устаревшее API, которое будет удалено в ближайших релизах.
👉 Превью R8 (замена ProGuard)

Новинок много и рекомендую обновляться. Помните одно - чтобы получить высокую скорость сборки в проекте вы также должны обновить все использование Gradle у себя до последнего API в Gradle.

Кому хочется больше нового - Android Studio 3.4 Canary 10 уже доступна для вас. Очень жду что же будет там сделано в рамках проекта по исправлению багов и улучшению стабильности
источник
2019 January 15
Android Broadcast
источник
Android Broadcast
#GooglePlay #SMSRetrieverAPI

Reminder SMS/Call Log Policy Changes от Android Developers Blog

Google Plaу начинает более строго проверять приложение - теперь нельзя просто так опубликовать приложения с разрешениями на использование SMS и журнала звонков. Зачем это нужно? Это явная забота о пользователях и ограничения на недопустимое использование возможностей разработчиком.

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

Например, с SMS стоит сделать следующее:
👉 Если вы считывание SMS для автоматической верификации, то вам стоит перейти на SMS Retriever API
👉 Отправка сообщений теперь должна происходить только через приложения, предназначенные для этого

Больше подробностей о новой политики Google Plaу ищите здесь
источник
Android Broadcast
#ArchComponents #Livedata #Testing

Writing effective ViewModel test от Josef Raska

Статья-реклама библиотеки LiveData Testing, которая позволяет эффективно тестировать LiveData в ViewModel.

По итогу ваш код сводится к

viewModel.counterLiveData()
   .test()
   .assertHasValue()
   .assertValue(5)
источник
Android Broadcast
#Podcast

Android Dev Подкаст #84. Новости. 🙈🙊🙉 текут реки пользовательских данных

Куда уходят данные. За что удаляют приложения. Новые старые OS. R8, GC в Art и прочие ништяки.
источник