#Square #Payments #SDK
Square запустила SDK для платежей в приложение под Android и iOS
Ребята из Square подарили нам множество замечательных Open Source библиотек, а теперь сделали собственное SDK чтобы вы могли проводить платежи прямо внутри вашего приложения. Единственное что вам надо помнить - политику по оплате Google Play.
Square запустила SDK для платежей в приложение под Android и iOS
Ребята из Square подарили нам множество замечательных Open Source библиотек, а теперь сделали собственное SDK чтобы вы могли проводить платежи прямо внутри вашего приложения. Единственное что вам надо помнить - политику по оплате Google Play.
#UI #CustomView
How to maximize Android’s UI reusability — 5 common mistakes от Carlos Palacin Rubio
Какими свойствами должна обладать Custom View, чтобы быть удобной в использование? Основные принципы:
👉 Читабельным
👉 Тестируемым
👉 Переиспользуемым
👉 Поддерживать предпросмотр в Layout Editor
👉 Не выходить за рамки времени отведенного для отрисовки кадра
В статье вы найдете рекомендации по тому как добиваться этих результатов. Также рекомендую прочитать "Optimizing the View"
How to maximize Android’s UI reusability — 5 common mistakes от Carlos Palacin Rubio
Какими свойствами должна обладать Custom View, чтобы быть удобной в использование? Основные принципы:
👉 Читабельным
👉 Тестируемым
👉 Переиспользуемым
👉 Поддерживать предпросмотр в Layout Editor
👉 Не выходить за рамки времени отведенного для отрисовки кадра
В статье вы найдете рекомендации по тому как добиваться этих результатов. Также рекомендую прочитать "Optimizing the View"
Medium
How to maximize Android’s UI reusability — 5 common mistakes
During the last few months, I had the opportunity to revisit some of our existing UI at Groupon. As part of this process, we started by…
#Architecture
How to Ship an App Rewrite Without Risking Your Entire Business от Uber Engineering
Инженеры Uber уместили в одно APK 2 приложения: старую и новую версию клиента Uber для водителей. Хотите узнать зачем они решили таким образом тестировать новый клиент, чем их не устроил механизм раздачи альфа/бета версий в Google Play, а самое главное как они реализовывали работу приложения - прошу за подробностями в статью.
How to Ship an App Rewrite Without Risking Your Entire Business от Uber Engineering
Инженеры Uber уместили в одно APK 2 приложения: старую и новую версию клиента Uber для водителей. Хотите узнать зачем они решили таким образом тестировать новый клиент, чем их не устроил механизм раздачи альфа/бета версий в Google Play, а самое главное как они реализовывали работу приложения - прошу за подробностями в статью.
Uber Engineering Blog
How to Ship an App Rewrite Without Risking Your Entire Business
Rather than shipping out our new driver app as a simple update to Android phones, Uber engineers delivered a dual binary package, enabling a safe and structured rollout of the new app while maintaining support for the previous version.
#Coroutines #Migration #Rx
London Tube Status App — from Rx to Coroutines от Joao Alves
Описание перехода с Rx на корутины на примере London Tube Status
London Tube Status App — from Rx to Coroutines от Joao Alves
Описание перехода с Rx на корутины на примере London Tube Status
ProAndroidDev
London Tube Status App — from Rx to Coroutines
Another migration guide. Now that Coroutines are stable, I decided to migrate this app from Rx to Coroutines to give it a try.
#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 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 элементов из базы данных в объект и не потерять на этом в производительности.
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 для объявление правил!
Lin - made Android Lint tool simpler
Для всех тех, кто пишет собственные правила в Android Lint, рекомендую обратить внимание на новую библиотеку, цель которой упростить вашу задачу с помощью изящного Kotlin API для объявление правил!
GitHub
GitHub - Serchinastico/Lin: Lin is an Android Lint tool made simple
Lin is an Android Lint tool made simple. Contribute to Serchinastico/Lin development by creating an account on GitHub.
#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
Kissme: Kotlin Secure Storage Multiplatform library. The Code Story от Samuel Urbanowicz
История разработки библиотеки для защищенного хранилища на Kotlin Multiplatform с поддержкой Android и iOS, причем на каждом хранилище обеспечивается нативными платформенными механизмами.
В статье рассказывается о том что за библиотеку смогли создать и с какими проблемами столкнулись в ходе:
👉 Взаимодействие между командами
👉 Незрелый Kotlin/Native и нехватка ресурсов и документации по нему
👉 Совместимость между Kotlin и Objective-C
Kissme Github
Netguru
Kissme: Kotlin Secure Storage Multiplatform library. The Code Story.
Kotlin Multiplatform key-value storage library for Android and iOS developed using Kotlin/Native, Objective-C, C-Interop and Swift ready to be used in common modules of Kotlin Multiplatform projects
#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 уже доступна для вас. Очень жду что же будет там сделано в рамках проекта по исправлению багов и улучшению стабильности
Вышла 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 уже доступна для вас. Очень жду что же будет там сделано в рамках проекта по исправлению багов и улучшению стабильности
Android Developers Blog
Android Studio 3.3
Posted by Jamal Eason , Product Manager We are excited to kick off the new year with a stable release of Android Studio 3.3 focused ...
#GooglePlay #SMSRetrieverAPI
Reminder SMS/Call Log Policy Changes от Android Developers Blog
Google Plaу начинает более строго проверять приложение - теперь нельзя просто так опубликовать приложения с разрешениями на использование SMS и журнала звонков. Зачем это нужно? Это явная забота о пользователях и ограничения на недопустимое использование возможностей разработчиком.
Если ваше приложение содержит эти разрешения, тогда вам надо было подать специальную форму в Google для описания почему вам нужен такой доступ у приложения. В противном случае вам надо переходить на стандартное API.
Например, с SMS стоит сделать следующее:
👉 Если вы считывание SMS для автоматической верификации, то вам стоит перейти на SMS Retriever API
👉 Отправка сообщений теперь должна происходить только через приложения, предназначенные для этого
Больше подробностей о новой политики Google Plaу ищите здесь
Reminder SMS/Call Log Policy Changes от Android Developers Blog
Google Plaу начинает более строго проверять приложение - теперь нельзя просто так опубликовать приложения с разрешениями на использование SMS и журнала звонков. Зачем это нужно? Это явная забота о пользователях и ограничения на недопустимое использование возможностей разработчиком.
Если ваше приложение содержит эти разрешения, тогда вам надо было подать специальную форму в Google для описания почему вам нужен такой доступ у приложения. В противном случае вам надо переходить на стандартное API.
Например, с SMS стоит сделать следующее:
👉 Если вы считывание SMS для автоматической верификации, то вам стоит перейти на SMS Retriever API
👉 Отправка сообщений теперь должна происходить только через приложения, предназначенные для этого
Больше подробностей о новой политики Google Plaу ищите здесь
Android Developers Blog
Reminder SMS/Call Log Policy Changes
TLDR; As previously announced and directly communicated to developers via email, we’ll be removing apps from the Google Play Store that ask for SMS or Call Log permission. If you have not submitted a permissions declaration form and you’re app is removed…
#ArchComponents #Livedata #Testing
Writing effective ViewModel test от Josef Raska
Статья-реклама библиотеки LiveData Testing, которая позволяет эффективно тестировать LiveData в ViewModel.
По итогу ваш код сводится к
viewModel.counterLiveData()
.test()
.assertHasValue()
.assertValue(5)
Writing effective ViewModel test от Josef Raska
Статья-реклама библиотеки LiveData Testing, которая позволяет эффективно тестировать LiveData в ViewModel.
По итогу ваш код сводится к
viewModel.counterLiveData()
.test()
.assertHasValue()
.assertValue(5)
Medium
Effective LiveData and ViewModel Testing
Learn how you can write effective tests of LiveData and ViewModel with ease.
#Podcast
Android Dev Подкаст #84. Новости. 🙈🙊🙉 текут реки пользовательских данных
Куда уходят данные. За что удаляют приложения. Новые старые OS. R8, GC в Art и прочие ништяки.
Android Dev Подкаст #84. Новости. 🙈🙊🙉 текут реки пользовательских данных
Куда уходят данные. За что удаляют приложения. Новые старые OS. R8, GC в Art и прочие ништяки.
#Security #Biometric #AndroidX
Fingerprint Authentication using BiometricPrompt Compat от Natig Babayev
Современная безопасность давно ушла от простых паролей. Все современные небюджетные устройства имеют биометрическую авторизацию: отпечаток пальца, радужка глаза, лицо и пр.
Android поддерживает авторизацию по отпечатку пальца, но она была помечена как deprecated в Android P, и на смену FingerprintManager пришло BiometricPrompt API. Идея такой замены заключается в расширение поддерживаемых метод идентификации в Android SDK и стандартизации UI. Но это только усилило извечную проблему Android.- фрагментацию API. Эту проблема призвана решить новая библиотека из AndroidX androidx.biometric, которая сейчас находится в разработке.
В рамках статье автор рассматривает использование новой библиотеки.
Fingerprint Authentication using BiometricPrompt Compat от Natig Babayev
Современная безопасность давно ушла от простых паролей. Все современные небюджетные устройства имеют биометрическую авторизацию: отпечаток пальца, радужка глаза, лицо и пр.
Android поддерживает авторизацию по отпечатку пальца, но она была помечена как deprecated в Android P, и на смену FingerprintManager пришло BiometricPrompt API. Идея такой замены заключается в расширение поддерживаемых метод идентификации в Android SDK и стандартизации UI. Но это только усилило извечную проблему Android.- фрагментацию API. Эту проблема призвана решить новая библиотека из AndroidX androidx.biometric, которая сейчас находится в разработке.
В рамках статье автор рассматривает использование новой библиотеки.
Medium
Fingerprint Authentication using BiometricPrompt Compat
With BiometricPrompt, fingerprint authentication on Android apps isn’t frustrating anymore.
#GooglePlay
Get your apps ready for the 64-bit requirement
Google Play все сильнее закручивает болты для разработчиков (что на мой взгляд хорошо). Уже сделали ограничения по targetSdk и SMS и CALL_LOG разрешения. Но приближается очередное обновление политики - все приложения, которые содержат нативный код, теперь будут должны поддерживать 64-битную архитектуру. Правило вступает для всех приложение с 1 августа 2019 , а с 1 августа 2021 года смартфоны с поддержкой 64 битной архитектуры не будут видеть приложения, которые не поддерживают данную архитектуру.
Есть исключения из правил:
👉 Android Wear приложения
👉 Android TV приложения
👉 Для приложение на Unity 5.6 и более старых изменения вступают в силу 1 августа 2021
Get your apps ready for the 64-bit requirement
Google Play все сильнее закручивает болты для разработчиков (что на мой взгляд хорошо). Уже сделали ограничения по targetSdk и SMS и CALL_LOG разрешения. Но приближается очередное обновление политики - все приложения, которые содержат нативный код, теперь будут должны поддерживать 64-битную архитектуру. Правило вступает для всех приложение с 1 августа 2019 , а с 1 августа 2021 года смартфоны с поддержкой 64 битной архитектуры не будут видеть приложения, которые не поддерживают данную архитектуру.
Есть исключения из правил:
👉 Android Wear приложения
👉 Android TV приложения
👉 Для приложение на Unity 5.6 и более старых изменения вступают в силу 1 августа 2021
Android Developers Blog
Get your apps ready for the 64-bit requirement
64-bit CPUs deliver faster, richer experiences for your users. Adding a 64-bit version of your app provides performance improvements, makes way for future innovation, and sets you up for devices with 64-bit only hardware.
Как вы относитесь к политике ужесточения публикации приложений в Google Play?
Anonymous Poll
72%
Позитивно
9%
Негативно
19%
Мне все равно
#ProGuard #R8
ProGuard and R8: a comparison of optimizers
ProGuard приобрел значительную долю популярности, если не большую, за счет Android разработки. Каково же их разочарование когда Google начала разрабатывать R8 как замену ProGuard и уже в следующем релизе Android Studio 3.4 R8 по умолчанию заменит ProGuard.
В статье вы найдете сравнение ProGuard и R8. Сразу скажу что R8 не срывает оваций т.к. часть оптимизаций, которые уже давно есть в ProGuard еще не реализованы в новой утилите от Google, но она содержит другие и активно наращивает обороты. Также R8 сфокусировано на Android разработке: исправление багов с интерпретаций байткода на различных версиях Android, удаление сервисного кода от Kotlin и прочие.
ProGuard and R8: a comparison of optimizers
ProGuard приобрел значительную долю популярности, если не большую, за счет Android разработки. Каково же их разочарование когда Google начала разрабатывать R8 как замену ProGuard и уже в следующем релизе Android Studio 3.4 R8 по умолчанию заменит ProGuard.
В статье вы найдете сравнение ProGuard и R8. Сразу скажу что R8 не срывает оваций т.к. часть оптимизаций, которые уже давно есть в ProGuard еще не реализованы в новой утилите от Google, но она содержит другие и активно наращивает обороты. Также R8 сфокусировано на Android разработке: исправление багов с интерпретаций байткода на различных версиях Android, удаление сервисного кода от Kotlin и прочие.
Guardsquare
ProGuard and Android R8 Optimizer Comparison | Guardsquare
Android's optimizer R8 is growing on the horizon, so we get a lot of questions how it relates to ProGuard. In this blog, we'll have a closer look.
#Podcast #Kotlin #Multiplatform
Talking Kotlin Podcast: Multiplatform Development with Kevin Galligan
Обсуждение Kotlin Multiplatform в очередном эпизоде подкаста Talking Kotlin
Talking Kotlin Podcast: Multiplatform Development with Kevin Galligan
Обсуждение Kotlin Multiplatform в очередном эпизоде подкаста Talking Kotlin
Talking Kotlin
Multiplatform Development with Kevin Galligan
We chat with Kevin about multi-platform development with Kotlin. Amongst many things, we discuss its differences with alternative technologies, the state of tooling and libraries, as well as factors people should consider when adopting OSS technologies.
#R8 #Optimization #Kotlin
R8 Optimization: Null Data Flow Analysis (Part 2)
R8 Optimization: Null Data Flow Analysis (Part 1)
Продолжение серии статей от Jake Wharton про оптимизации, которые выполняет R8 в Kotlin коде. В статье рассматривает о том как R8 избавляется от сервисного кода по проверки Java объектов на null.
R8 Optimization: Null Data Flow Analysis (Part 2)
R8 Optimization: Null Data Flow Analysis (Part 1)
Продолжение серии статей от Jake Wharton про оптимизации, которые выполняет R8 в Kotlin коде. В статье рассматривает о том как R8 избавляется от сервисного кода по проверки Java объектов на null.
Jake Wharton
R8 Optimization: Null Data Flow Analysis (Part 2) – Jake Wharton
#Library #UI #PorterDuff
The power of Android Porter/Duff Mode
В статье рассказывается о создание анимации источника света на основе Porter/Duff Mode и все это собрано в библиотеку.
Github LightProgress
The power of Android Porter/Duff Mode
В статье рассказывается о создание анимации источника света на основе Porter/Duff Mode и все это собрано в библиотеку.
Github LightProgress
Medium
The power of Android Porter/Duff Mode with View Animation
In this article we’ll try to implement a custom Android loading indicator with “Light” animation.