In Kotlin, you can override operators like addition and subtraction for your classes and supply your own logic. But what if you want to allow null values, bo...
Уехать — нормально, остаться — тоже нормально. Еще нормальнее — работать и делать, что умеешь.
Мы по-прежнему делаем интересные и важные проекты, по-прежнему платим зарплату два раза в месяц и пересматриваем два раза в год, по-прежнему поддерживаем каждого члена команды, оплачиваем психолога. Считаем, что это нормально.
Заходите на сайт, чекайте вакансии и, может, поработаем вместе
Присоединяйтесь✊🏻
#реклама
Подборка советов по ускорению Gradle сборки. Ничего особо нового и революционного, но вдруг найдете что то новое для себя.
#gradle #android #build
blog.dipien.com/10-idea…6392f253
«Лаборатория Касперского» объявляет набор на стажировку в команду мобильной разработки!
Регистрируйтесь на митапKaspersky SafeBoard Mobile talks, чтобы узнать:
- о сложностях и преимуществах мобильной разработки;
- о стажировках в команде, задачах и перспективах развития, а также о каждом направлении отбора;
- как попасть в штат после стажировки — пообщаемся с недавними стажерами и подскажем, как расти еще быстрее!
И, конечно же, ответим на твои вопросы!
Онлайн-встреча пройдет 21 апреля в 17:00, где тебя ждет знакомство с командами и тестовое задание.
Скорее подавай заявку по ссылке, заполняй анкету и получи возможность пройти отбор на стажировку в «Лабораторию Касперского».
Стань частью нашей команды!
#реклама
Kotlin 1.6.20 comes with a new toy: Context Receivers. You can use them to elegantly constrain functions (and more!) to a specific context from which they ca...
Especially for long-running operations, it can be useful to know how much time it takes to run your code. Thankfully, the kotlin.time package comes with some...
В Android 13 приложение может отказаться от пермишена, который ранее был предоставлен системой или пользователем.
#android
yggr.medium.com/explori…9bfcee2b
Пишут, что в Kotlin 1.7 добавят возможность явного указания типа для property getter.
Это упростит описание двойных объектов типа LiveData/MutableLiveData и StateFlow/MutableStateFlow
#kotlin
nikoladespotoski.medium.com/overrid…cd30e77a
🚀 Как создать приложение с управлением сложными жестами, как в Opera?
📌 Об этом расскажет Дмитрий Золотов, Flutter Developer в Яндексе, 18 апреля в 20:00 мск
✅ На открытом уроке мы:
🔸 Разберемся с принципами обнаружения жестов во Flutter
🔸 Создадим детекторы для сложных жестов управления приложением (подобно жестам мышью в Opera)
🔸 Создадим простую библиотеку для встраивания в другие приложения.
📚 Занятие дает возможность предварительно попробовать онлайн-курс «Flutter Mobile Developer» от OTUS и познакомиться с преподавателем.
👉 Для регистрации пройдите вступительный тест https://otus.pw/zbiv/
#реклама
Google Play снова форсит нас повышать target API level.
C 01 ноября 2022 приложение станет недоступным для установки, если его target API level устарел более, чем на два года.
#android #googleplay #targetapi
android-developers.googleblog.com/2022/04…ity.html
Вышел Kotlin 1.6.20. Одна из интересных новых фич - context receivers.
На словах объяснить непросто, но можно рассмотреть простой пример: внутри нашего кастомного View класса нам понадобилась функция конвертирования dp в px. На скриншоте выше - два варианта реализации.
Первый вариант - обычная Extension функция для Float. Внутри класса View мы сможем ее вызвать и передать ей this, чтобы она получила доступ к resources и все посчитала.
Второй вариант - использует context receivers. Оператором context мы даем этой Extension функции понять, что она будет вызвана внутри контекста View класса.
Как попасть в контекст View класса?
В нашем случае мы просто будем вызывать эту функцию внутри нашего View класса. Она сама вытянет из него resources. Нам уже не надо будет явно передавать view в функцию, как мы это делали в первом варианте.
Еще один способ попасть в контекст View класса - with(view) { ... }. В блоке кода оператора with мы сможем вызывать нашу функцию dpToPx() и она сама доберется до view, который мы передали в with().
Если же попытаться вызвать такую функцию вне контекста View, то студия выдаст ошибку: No required context receiver found.
#kotlin #extension #receiver
blog.jetbrains.com/kotlin/…released
Короткое видео про использование оператора Elvis в комбинации с run, чтобы и вернуть значение и выполнить код в случае null.
#kotlin #elvis #nullable
https://www.youtube.com/watch?v=L9wqYQ-fXaM
The Elvis operator is a great tool for handling nullability. It can be used to provide a default non-null value instead of a given expression when this expre...
With coroutines as the recommended solution for asynchronous operations, Kotlin Flow is the obvious choice for managing streams of data in Android apps. Howe...
Статья о создании плагина к студии, чтобы автоматизировать переход с kotlin.synthetics на ViewBinding
#android #kotlin #androidstudio #plugin
https://habr.com/ru/company/hh/blog/650763/
Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru, и в этой статье я расскажу о нашем опыте миграции на ViewBinding.В конце 2020 года в официальном блоге Android Developers...