Держите хорошее объяснение отличий между 2 этими понятиями.
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
— «В компании Infobip с 2017 года и до сегодняшнего дня идет золотой век Kotlin. Будет ли он продолжаться, зависит исключительно от JetBrains и их способности внедрять инновации в Kotlin»
Полезная статья, в которой затрагиваются важные вещи, автор рассуждает о том, почему одни технологии сменяют другие, почему взлетевшие Scala и Groovy не так популярны сегодня и т.д.
Разбираются достоинства и недостатки Kotlin:
— Интероперабельность с Java
— Корутины
— Структура данных и сопоставление шаблонов
— Работа с Null
— Другие особенности
— Интероперабельность с Java
— Экосистема Kotlin
— Рабочая сила
— Отсутствие прогресса
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2👎2🔥1
Scout — это библиотека, появившаяся как результат большого количества проб и ошибок. Пет-проекты с кастомными DI-контейнерами. Изучение каждого нового DI-фреймворка, который появлялся в комьюнити.
Держите полезную статью о том, как Scout создавалась и какие проблемы может решать.
Вот ещё некоторые факты из статьи:
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤1
.not() и ! в KotlinМы довольно часто используем оператор
.not(), поскольку это более читабельно, чем !.Но есть одна вещь, которую оператор
.not() не может сделать — поглядите: myEvents?.forEach { myEvent ->
if (!myEvent.events.isNullOrEmpty()) {
myEvent.events.find { it.type == eventType }
}
if (myEvent.events.isNullOrEmpty().not()) {
myEvent.events.find { it.type == eventType }
}
}Как-то так
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
Затрагиваются такие темы:
— функция main, точка входа
— компактные функции
— лямбды и функции высшего порядка
— список фильтров
— нетерпеливые и ленивые фильтры
Описано подробно и понятно, рекомендую
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
Держите годное видео о том, как с помощью фреймворка Jetpack Compose создать проект в Android Studio.
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2❤1
Годный контент!
В этом видео описывается создание простого приложения — сканера QR-кодов на Jetpack Compose и Android Studio при помощи библиотеки ZXing.
Параллельно добавляется Room + Hilt для записи отсканированных кодов в БД.
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6❤1
when проверяет значение некоторого объекта и в зависимости от его значения выполняет тот или иной код. Конструкция when аналогична конструкции switch в других языках. Формальное определение:when(объект){
значение1 -> действия1
значение2 -> действия2
...
значениеN -> действияN
}when, то выполняются соответствующие действия, которые идут после оператора -> после соответствующего значения:fun main() {
val isEnabled = true
when(isEnabled){
false -> println("isEnabled off")
true -> println("isEnabled on")
}
}Здесь в качестве объекта в конструкцию
when передается переменная isEnabled. Далее ее значение по порядку сравнивается со значениями в false и true. В данном случае переменная isEnabled равна true, поэтому будет выполняться код:println("isEnabled on")В примере выше
isEnabled имела только 2 возможных варианта: true и false. Однако чаще бывают случаи, когда значения в блоке when не покрывают все возможные значения объекта. Дополнительное выражение else позволяет задать действия, которые выполняются, если объект не соответствует ни одному из значений:val a = 30
when(a){
10 -> println("a = 10")
20 -> println("a = 20")
else -> println("неопределенное значение")
}
То есть в данном случае если переменная
a равна 30, поэтому она не соответствует ни одному из значений в блоке when. И соответственно будут выполняться инструкции из выражения else.var a = 10
when(a){
10 -> {
println("a = 10")
a *= 2
}
20 -> {
println("a = 20")
a *= 5
}
else -> { println("неопределенное значение")}
}
println(a)
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
Некоторые мысли из статьи, и о чём вообще в ней речь:
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
Mobox — полезная утилита для запуска windows x86 приложений на Android.
Проект работает через Termux, используя Box64 и Wine. Имеет простой и быстрый процесс установки.
@android_its
Проект работает через Termux, используя Box64 и Wine. Имеет простой и быстрый процесс установки.
@android_its
👍8❤3🥰1