В Kotlin мы можем передать функцию в качестве аргумента, как с помощью ссылки на метод, так и с помощью лямбда выражения. Разбираемся в отличиях данных подходов.
https://proandroiddev.com/kotlin-lambda-vs-method-reference-fdbd175f6845
https://proandroiddev.com/kotlin-lambda-vs-method-reference-fdbd175f6845
Medium
Kotlin. Lambda vs Method Reference
Kotlin has been main Android programming language for a while now. One of the reasons I like this language is because functions are…
Серия статей про использование обновленного Activity Result API для передачи данных между экранами.
https://medium.com/e-legion/the-right-way-to-get-a-result-part-i-activity-result-api-6efbcaa5600d
https://medium.com/e-legion/the-right-way-to-get-a-result-part-i-activity-result-api-6efbcaa5600d
Medium
The right way to get a result (Part I): Activity Result API
In 2020, Google introduced a powerful tool — the Activity Result API. In this article, we’ll look at how to use it and discuss its benefits
Погружаемся в ностальгию и вспоминаем историю Android разработки на протяжении последних 10 лет на примере одного разработчика.
https://dinesh-hema99.medium.com/10-years-an-android-developer-e8a75e344727
https://dinesh-hema99.medium.com/10-years-an-android-developer-e8a75e344727
Medium
10 Years an Android Engineer
A narrative about my 10 years of experience developing on the Android Platform
Flow постепенно приходит на смену LiveData, и мы всё чаще работаем с ним на уровне UI. Разбираемся как это делать наиболее безопасно.
https://medium.com/androiddevelopers/a-safer-way-to-collect-flows-from-android-uis-23080b1f8bda
https://medium.com/androiddevelopers/a-safer-way-to-collect-flows-from-android-uis-23080b1f8bda
Medium
A safer way to collect flows from Android UIs
Learn how the repeatOnLifecycle API protects you from wasting resources and why it’s a good default for flow collection in the UI layer.
Вместе с suspend методом emit у MutableSharedFlow есть также обычный метод tryemit, который может работать не так как вы думаете при отсутствии буфера. В статье автор копается под капотом Flow, чтобы выяснить почему так происходит.
https://blog.danlew.net/2021/03/23/do-or-do-not-there-is-no-tryemit/
https://blog.danlew.net/2021/03/23/do-or-do-not-there-is-no-tryemit/
Dan Lew Codes
Do or do not; there is no tryEmit()
In RxJava, PublishSubject
[http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/subjects/PublishSubject.html]
(or PublishRelay [https://github.com/JakeWharton/RxRelay] if you’re a cool kid)
is a gizmo for manually pumping data into streams like in…
[http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/subjects/PublishSubject.html]
(or PublishRelay [https://github.com/JakeWharton/RxRelay] if you’re a cool kid)
is a gizmo for manually pumping data into streams like in…
В Android 12 меняются правила работы с PendingIntent. Хороший повод, чтобы освежить память на тему PendingIntent и подготовится к изменениям.
https://medium.com/androiddevelopers/all-about-pendingintents-748c8eb8619
https://medium.com/androiddevelopers/all-about-pendingintents-748c8eb8619
Medium
All About PendingIntents
PendingIntents are an important part of the Android framework, but most of the available developer resources focus on their implementation…
Большая шпаргалка по обработке исключений в Kotlin coroutines.
https://www.netguru.com/codestories/exceptions-in-kotlin-coroutines
https://www.netguru.com/codestories/exceptions-in-kotlin-coroutines
Netguru
Are You Handling Exceptions in Kotlin Coroutines Properly?
In this article I will try to show situations where you need to be more cautious about exceptions and show some best practices in Kotlin
Уже очень скоро подводим итоги пятого ежегодного опроса отечественных мобильных разработчиков! Вы ещё успеваете его заполнить ;)
Скоро узнаем:
📖 Откуда мобильщики получают новые знания
💪 Какие команды мобильной разработки самые сильные
🌟 В каких компаниях мобильные разработчики хотят работать больше всего
Результаты будут в публичном доступе через месяц. Пока их ждете, можете почитать отчеты за прошлые годы: 2020, 2019, 2018, 2017.
⏩ Пройдите опрос, пошарьте его своей команде, ждите результата!
Скоро узнаем:
📖 Откуда мобильщики получают новые знания
💪 Какие команды мобильной разработки самые сильные
🌟 В каких компаниях мобильные разработчики хотят работать больше всего
Результаты будут в публичном доступе через месяц. Пока их ждете, можете почитать отчеты за прошлые годы: 2020, 2019, 2018, 2017.
⏩ Пройдите опрос, пошарьте его своей команде, ждите результата!
Google Docs
Исследование российских команд мобильной разработки, 2021
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Когда отвечаете на вопросы, старайтесь учитывать впечатления, полученные за весь прошедший 2020 год.
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Серия статей, в которой автор бродит по ченджлогам недавно вышедшей Android 12 Developer Preview и ищет интересные нововведения. Как пример, новые методы для работы с View, отдельное API для SplashScreen и PeopleManager.
https://commonsware.com/blog/2021/03/17/random-musings-android-12-developer-preview-2.html
https://commonsware.com/blog/2021/03/17/random-musings-android-12-developer-preview-2.html
CommonsWare: Android App Development Books
Random Musings on the Android 12 Developer Preview 2
Android 12 is upon us! I always take a deep dive through each developer preview and beta release, to see what we should know about that Google is not promoting much. So, here is what I have found for Android 12 Developer Preview 2!
Набор хороших практик, которые улучшат ваш код и ускорят процесс разработки.
https://gpeal.medium.com/ten-androidlifehacks-you-can-use-today-9f74186fc207
https://gpeal.medium.com/ten-androidlifehacks-you-can-use-today-9f74186fc207
Medium
Ten #AndroidLifeHacks You Can Use Today
Ten simple #AndroidLifeHacks from Tonal that you can start using today.
Последовательное соединение кода — это ситуация, когда класс требует, чтобы его методы вызывались только в определенном порядке. В статье описывается к каким проблемам это может привести и как свести такие ситуации к минимуму.
https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
Medium
Stop Crafting Your “Time Bomb”
A horrible design pattern we should get rid of. Period.
Большой набор советов от Redmadrobot по работе с Gradle для Android-разработчиков: Kotlin DSL или Groovy, зависимости в многомодульных проектах, исключение неиспользуемых вариантов и другие.
https://habr.com/ru/company/redmadrobot/blog/544630/
https://habr.com/ru/company/redmadrobot/blog/544630/
Хабр
Советы по работе с Gradle для Android-разработчиков
Всем привет! Я пишу приложения под Android, в мире которого система сборки Gradle является стандартом де-факто. Я решил поделиться некоторыми советами по работе с системой с теми, у кого нет чёткого...
Неожиданно и быстро прошёл этот “год на удаленке”. Кто-то успел выучить новый язык и не только в программировании, но и заговорить на испанском. Кто-то в совершенстве овладел навыками йоге в домашних условиях.
Вместе с этим команда Mail.ru Group решили собрать и поделиться с вами некоторыми релизами на мобильных устройствах, которые выпустили за 2020 год “на удаленке”
Читайте в статье, пишите в комментарии какие крупные мобильные релизы вам запомнились в прошлом году?
Вместе с этим команда Mail.ru Group решили собрать и поделиться с вами некоторыми релизами на мобильных устройствах, которые выпустили за 2020 год “на удаленке”
Читайте в статье, пишите в комментарии какие крупные мобильные релизы вам запомнились в прошлом году?
Хабр
Дайджест релизов мобильной разработки Mail.ru Group за время пандемии
В прошлом году мы дружно перешли на удалёнку и стали экспериментировать и приспосабливаться к новым условиям. Результаты нас порадовали, мы не сбавили частоту ре...
Используем FFmpeg на Android: сжатие и редактирование видео, работа с картинками и gif.
https://medium.com/simform-engineering/multimedia-operations-for-android-using-ffmpeg-78f1fb480a83
https://medium.com/simform-engineering/multimedia-operations-for-android-using-ffmpeg-78f1fb480a83
Medium
Multimedia Operations for Android using FFmpeg
FFmpeg is a free and open-source software project consisting of a large suite of libraries and programs for handling video, audio, and…
В Kotlin есть встроенный класс Result, который пока не очень удобно используем. Реализуем свой более удобный аналог. Казалось бы, при чем тут монады.
https://gtheocharis.medium.com/and-the-result-is-a-monad-cd773b9a2dfb
https://gtheocharis.medium.com/and-the-result-is-a-monad-cd773b9a2dfb
Medium
And the Result is a monad
Adding superpowers to a custom type
Сложно не согласиться, что чем больше проверок мы перекладываем на компилятор, тем лучше. Автор статьи подумал также и сделал тип NonEmptyList для явного обозначения непустых списков.
https://quickbirdstudios.com/blog/non-empty-lists-kotlin/
https://quickbirdstudios.com/blog/non-empty-lists-kotlin/
QuickBird Studios
Non-Empty Lists in Kotlin
No-one likes to open an empty box! We use non-empty lists and collections in Kotlin to avoid such unpleasant surprises by design.
Большой гайд по null безопасности в Kotlin. По большей степени, будет полезно новичкам.
https://typealias.com/start/kotlin-nulls/
https://typealias.com/start/kotlin-nulls/
Dave Leeds on Kotlin
Nulls and Null Safety
In Kotlin, null safety is a first-class concept. In this chapter, we'll learn all about nulls, including how to manage them with tools like smart casts, elvis operators, safe-call operators, and more.
Осталось всего несколько дней, чтобы проголосовать в ежегодном опросе про состояние отечественного рынка мобильной разработки. Поднажмите – пройдите сами, пошарьте своей команде, закиньте в чатики, в которых сидите. Больше ответов – круче общий обзор!
⏰ Время на прохождение – 3 минуты, ссылка – тут.
⏰ Время на прохождение – 3 минуты, ссылка – тут.
Google Docs
Исследование российских команд мобильной разработки, 2021
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Когда отвечаете на вопросы, старайтесь учитывать впечатления, полученные за весь прошедший 2020 год.
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
При добавлении новой библиотеки в проект хочется быть уверенным в её корректном поведении. В статье приведен набор практик, которые позволят узнать библиотеку по-лучше: просмотр объеденненого манифеста, проверка зависимостей и оценка работы с пользовательскими данными.
https://medium.com/androiddevelopers/getting-to-know-the-behaviors-of-your-sdk-dependencies-f3dfed07a311
https://medium.com/androiddevelopers/getting-to-know-the-behaviors-of-your-sdk-dependencies-f3dfed07a311
Medium
Getting to know the behaviors of your SDK dependencies
You likely are using third-party SDKs or libraries in your app. After all, why build functionality from scratch if the building blocks are…
Ещё одна статья для начинающих, хотя возможно будет полезно и опытным разработчикам. На этот раз погружаемся в работу с коллекциями в Kotlin.
https://dev.to/kotlin/diving-into-kotlin-collections-587o
https://dev.to/kotlin/diving-into-kotlin-collections-587o
DEV Community
Diving into Kotlin collections
Kotlin's standard library provides awesome and versatile tools to manage groups of items. Let's take a closer look!