StartAndroid
10.3K subscribers
385 photos
10 videos
5 files
1.83K links
Канал об Android (Андроид) разработке

Сайт - http://startandroid.ru

Чат - https://tttttt.me/startandroidchat

Контакты - https://startandroid.ru/ru/about/cntct5.html

Реклама - https://startandroid.ru/ru/about/reklama.html

РКН - https://shorturl.at/p7iUr
Download Telegram
Вышел 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

https://blog.jetbrains.com/kotlin/2022/04/kotlin-1-6-20-released/
👍44🔥6🤔61🥰1
Блог об Android разработке

Короткие посты с картинками о различных аспектах, с которыми сталкиваешься во время разработки:

t.me/dolgo_polo_dev/20 — Да кто этот ваш Context
t.me/dolgo_polo_dev/22 — Главная цель архитектуры или зачем столько страданий
t.me/dolgo_polo_dev/31 — Handler & Looper
t.me/dolgo_polo_dev/55 — Kotlin Coroutine — корутины за 100 слов
t.me/dolgo_polo_dev/60 — Xml - зачем префиксы android, tools, app

Карта канала — t.me/dolgo_polo_dev/36

#реклама
👍33
Google Play снова форсит нас повышать target API level.

C 01 ноября 2022 приложение станет недоступным для установки, если его target API level устарел более, чем на два года.

#android #googleplay #targetapi

https://android-developers.googleblog.com/2022/04/expanding-plays-target-level-api-requirements-to-strengthen-user-security.html
👍8😱42💩1
🚀 Как создать приложение с управлением сложными жестами, как в Opera?

📌 Об этом расскажет Дмитрий Золотов, Flutter Developer в Яндексе, 18 апреля в 20:00 мск

На открытом уроке мы:

🔸 Разберемся с принципами обнаружения жестов во Flutter
🔸 Создадим детекторы для сложных жестов управления приложением (подобно жестам мышью в Opera)
🔸 Создадим простую библиотеку для встраивания в другие приложения.

📚 Занятие дает возможность предварительно попробовать онлайн-курс «Flutter Mobile Developer» от OTUS и познакомиться с преподавателем.

👉 Для регистрации пройдите вступительный тест https://otus.pw/zbiv/

#реклама
💩12👍5🔥2
Пишут, что в Kotlin 1.7 добавят возможность явного указания типа для property getter.

Это упростит описание двойных объектов типа LiveData/MutableLiveData и StateFlow/MutableStateFlow

#kotlin

https://nikoladespotoski.medium.com/overriding-backing-property-type-in-kotlin-1-7-5581cd30e77a
👍58🔥33👏52🤔1🤮1
В Android 13 приложение может отказаться от пермишена, который ранее был предоставлен системой или пользователем.

#android

https://yggr.medium.com/exploring-android-13-downgradable-permission-5ca79bfcee2b
🤔18👍2🤮1
Получасовое подробное видео про новую Kotlin фичу Context Receivers

#kotlin

https://www.youtube.com/watch?v=GISPalIVdQY
👍9🔥4🤮1
«Лаборатория Касперского» объявляет набор на стажировку в команду мобильной разработки!

Регистрируйтесь на митап Kaspersky SafeBoard Mobile talks, чтобы узнать:
- о сложностях и преимуществах мобильной разработки;
- о стажировках в команде, задачах и перспективах развития, а также о каждом направлении отбора;
- как попасть в штат после стажировки — пообщаемся с недавними стажерами и подскажем, как расти еще быстрее!

И, конечно же, ответим на твои вопросы!

Онлайн-встреча пройдет 21 апреля в 17:00, где тебя ждет знакомство с командами и тестовое задание.

Скорее подавай заявку по ссылке, заполняй анкету и получи возможность пройти отбор на стажировку в «Лабораторию Касперского».

Стань частью нашей команды!

#реклама
💩42👍8🤮2
Подборка советов по ускорению Gradle сборки. Ничего особо нового и революционного, но вдруг найдете что то новое для себя.

#gradle #android #build

https://blog.dipien.com/10-ideas-to-improve-your-gradle-build-times-part-iii-db06392f253
👍6🔥2🤮1
Уехать — нормально, остаться — тоже нормально. Еще нормальнее — работать и делать, что умеешь.

Мы по-прежнему делаем интересные и важные проекты, по-прежнему платим зарплату два раза в месяц и пересматриваем два раза в год, по-прежнему поддерживаем каждого члена команды, оплачиваем психолога. Считаем, что это нормально.

Заходите на сайт, чекайте вакансии и, может, поработаем вместе

Присоединяйтесь✊🏻

#реклама
👎33👍12👏1🤮1
Небольшая статья для начинающих о том, в чем разница между DataBinding и ViewBinding

#android #databinding #viewbinding

https://medium.com/@joshuaudayagiri/android-view-binding-vs-data-binding-f56df1885bce
🔥16👍7👎2
Полезная статья для начинающих. Что происходит, если у нас в классе и в методе есть переменные с одним и тем же именем. Также рассматривается кейс одинаковых имен переменных в родительском/дочернем классах. Такое вполне могут спросить на интервью

#java #interview

https://habr.com/ru/company/piter/blog/658873/
👍14🤮1
Подробная статья про Kotlin Sequences. Как работает, что умеет, чем отличается от коллекций, и в каких случаях имеет смысл использовать.

#kotlin #sequences #collections

https://www.raywenderlich.com/31290959-kotlin-sequences-getting-started
👍19💩4🔥1👏1🤮1
Прошел курсы по Android-разработке, но не понимаешь, как применить свои знания на практике, а без опыта на работу не берут?

Попробуй Apanta - симулятор-тренажер мобильной студии!
Ты получишь:
-реальный опыт в создании амбициозного продукта;
-навыки анализа настоящих задач;
-возможность коммуникации с виртуальными коллегами;
-кейсы в постановке и решении рабочих вопросов.

Переходи по ссылке и начинай практиковаться уже сейчас!
https://apanta.online

#реклама
👍17💩9🤔5🔥3