Кравець Кодить | Android
Кравець Кодить | Android
  • 267
  • 229 704
#3 Переваги Корутин
🔹 Телеграм Канал. Мої оновлення і рекомендації: t.me/kravets_coding
🔹 Телеграм Спільнота. Група обговорення: t.me/android_razom
🎥 ua-cam.com/play/PL3o5sNxukLFBGmh0hh6HI4khggWENQStt.html&si=VkowfZTj-owo1Sci
🎥 ua-cam.com/play/PL3o5sNxukLFBJYifmCcHpwXZSql5-OFB0.html&si=1ZUss1U2ajtznc5o
🎥 ua-cam.com/play/PL3o5sNxukLFCZ2xN_pHLr5AuAc8BcWit1.html&si=ZhM1k5bwXAkQnKpH
Переглядів: 328

Відео

#2 Корутини і Потоки. Комплексне бачення
Переглядів 2369 місяців тому
🔹 Телеграм Канал. Мої оновлення рекомендації: t.me/kravets_coding 🔹 Телеграм Спільнота. Група обговорення: t.me/android_razom 🎥 ua-cam.com/play/PL3o5sNxukLFBGmh0hh6HI4khggWENQStt.html&si=VkowfZTj-owo1Sci 🎥 ua-cam.com/play/PL3o5sNxukLFBJYifmCcHpwXZSql5-OFB0.html&si=1ZUss1U2ajtznc5o 🎥 ua-cam.com/play/PL3o5sNxukLFCZ2xN_pHLr5AuAc8BcWit1.html&si=ZhM1k5bwXAkQnKpH
#1 Корутини. Про Курс
Переглядів 2809 місяців тому
🔹 Телеграм Канал. Мої оновлення рекомендації: t.me/kravets_coding 🔹 Телеграм Спільнота. Група обговорення: t.me/android_razom 🎥 ua-cam.com/play/PL3o5sNxukLFDWj_K2TbX3t7czyIaYz27v.html 🎥 ua-cam.com/play/PL3o5sNxukLFBGmh0hh6HI4khggWENQStt.html&si=VkowfZTj-owo1Sci 🎥 ua-cam.com/play/PL3o5sNxukLFBJYifmCcHpwXZSql5-OFB0.html&si=1ZUss1U2ajtznc5o
8. Лямбда у Composable функції - приклад використання
Переглядів 2119 місяців тому
Лямбда compose - це довол звична пара. Оскільки compose це по сут багато різних Composable функцій, то лямбда це зручний спосіб комунікувати між ними, делегувати певн можливост одна одній тому подібне. В цьому уроц я покажу типовий практичний приклад використання лямбди з composable функцією. Якщо ви хочете зануритись в тему лямбд глибше, рекомендую мій курс нижче посилання. 🔹Мій телеграм ка...
7. Рефакторимо наш код з Compose
Переглядів 2139 місяців тому
Давайте трохи порефакторимо код, щоб рухатися далі. Тобто реорганізуємо, прибиремо зайве. 🔹Мій телеграм канал. Оновлення підказки: t.me/kravets_coding 🔹Наша телеграм спільнота. Взаємодопомога: t.me/android_razom 🎥 ua-cam.com/play/PL3o5sNxukLFCZ2xN_pHLr5AuAc8BcWit1.html&si=ZhM1k5bwXAkQnKpH 🎥 ua-cam.com/play/PL3o5sNxukLFBJYifmCcHpwXZSql5-OFB0.html&si=1ZUss1U2ajtznc5o 🎥 ua-cam.com/play/PL3o5sNxuk...
6. Column Row | Розташовуємо елементи в стовчик чи в ряд
Переглядів 1229 місяців тому
Column та Row базов елементи Compose. Розташуємо наш тексти в рядок. 🔹Мій телеграм канал. Оновлення підказки: t.me/kravets_coding 🔹Наша телеграм спільнота. Взаємодопомога: t.me/android_razom 🎥 ua-cam.com/play/PL3o5sNxukLFCZ2xN_pHLr5AuAc8BcWit1.html&si=ZhM1k5bwXAkQnKpH 🎥 ua-cam.com/play/PL3o5sNxukLFBJYifmCcHpwXZSql5-OFB0.html&si=1ZUss1U2ajtznc5o 🎥 ua-cam.com/play/PL3o5sNxukLFBGmh0hh6HI4khggWENQ...
X. Як неправильний паралелізм погіршує продуктивність програми | 5 рішень
Переглядів 2239 місяців тому
Паралелізм можна організувати правильно, а можна зробити так, що телефон буде перегріватися, а UI буде глючити. Я розкажу про справжній проблеми з якими я стикався в контекст багатопотоковості, як я їх вирішував. Код рішень теж покажу. Краще щоб ви вже мали хоч якийсь досвід програмування. Інформація стосується не лише мобільної розробки. Хоч я розказую на приклад Kotlin Coroutines. 0:00 Для к...
3 Рекомендації для початківців, щоб засвоювати потоки на практиці поступово
Переглядів 3269 місяців тому
У цьому відео я поділюся своїм досвідом із вивчення багатопотоковост у програмуванні. Я починаю з обговорення "Плавного графа вивчення", методики засвоєння складних концепцій, яка особливо корисна при вивченн багатопотоковості. Дал я пропоную три основн рекомендації, як допоможуть вам плавно засвоїти багатопотоковість з нуля. 0:00 - Про відео. 0:58 - Плавний граф вивчення будь-чого: що це таке?...
2. Багатопотоковість. Проблеми і Рішення. Зона відповідальності програміста
Переглядів 3119 місяців тому
У цьому відео ми зосередимося на вивченн основних Проблем, як можуть виникати у контекст багатопотоковості, та на Потенційних рішеннях, Правилах Принципах, яких варто дотримуватися вам як програмісту - це Ваша зона відповідальності. Бо не на все ви маєте вплив, але на дещо таки маєете. Цей список буде корисним не тільки для навчання зараз, але й у майбутньому, коли ви зіткнетеся з проблемами, ...
1. Багатопотоковість | Процес, Потік, Асинхронність, Паралелізм
Переглядів 7669 місяців тому
1. Багатопотоковість | Процес, Потік, Асинхронність, Паралелізм
Обережно - резервне копіювання | allowBackUp=true
Переглядів 17810 місяців тому
Обережно - резервне копіювання | allowBackUp=true
Remember в Jetpack Compose
Переглядів 12410 місяців тому
Remember в Jetpack Compose
5. Нове вхідне значення | Другий спосіб запустити рекомпозицію
Переглядів 16910 місяців тому
5. Нове вхідне значення | Другий спосіб запустити рекомпозицію
4. By в JetPack Compose
Переглядів 15910 місяців тому
4. By в JetPack Compose
3.2. Recomposition + State + Remember
Переглядів 19910 місяців тому
3.2. Recomposition State Remember
3.1. Рекомпозиція з допомогою MutableState
Переглядів 28110 місяців тому
3.1. Рекомпозиція з допомогою MutableState
2. Preview в Jetpack Compose
Переглядів 21610 місяців тому
2. Preview в Jetpack Compose
1. Запускаємо проект з Jetpack Compose
Переглядів 49810 місяців тому
1. Запускаємо проект з Jetpack Compose
Віртуальна підтримка - теж підтримка #coding #програмування #програмування #заробіток
Переглядів 14911 місяців тому
Віртуальна підтримка - теж підтримка #coding #програмування #програмування #заробіток
Як прокачати себе як спеціаліста | Книга чи практика | Практика чи обставини
Переглядів 42611 місяців тому
Як прокачати себе як спеціаліста | Книга чи практика | Практика чи обставини
Enum та Sealed - Підсумки
Переглядів 33811 місяців тому
Enum та Sealed - Підсумки
Sealed та Enum | Що коли використовую
Переглядів 29211 місяців тому
Sealed та Enum | Що коли використовую
Enum з параметрами | обмеження
Переглядів 24111 місяців тому
Enum з параметрами | обмеження
Sealed class | Різна кількість аргументів
Переглядів 30411 місяців тому
Sealed class | Різна кількість аргументів
Sealed клас | Замість enum | Також два слова про наслідування та поліморфізм
Переглядів 55211 місяців тому
Sealed клас | Замість enum | Також два слова про наслідування та поліморфізм
Enum | Що таке перелічення | Чому недобре використовувати константи для перелічення
Переглядів 82611 місяців тому
Enum | Що таке перелічення | Чому недобре використовувати константи для перелічення
Чому я не здався | Вивчив програмування
Переглядів 1,1 тис.Рік тому
Чому я не здався | Вивчив програмування
GPT переваги для пошуку #coding #android #kotlin #gpt #українською #програмування #заробіток
Переглядів 83Рік тому
GPT переваги для пошуку #coding #android #kotlin #gpt #українською #програмування #заробіток
StackOverflow #coding #android #kotlin
Переглядів 135Рік тому
StackOverflow #coding #android #kotlin
Не відкриває DOCX | android resolve activity return null | Приклад вирішення проблеми
Переглядів 189Рік тому
Не відкриває DOCX | android resolve activity return null | Приклад вирішення проблеми

КОМЕНТАРІ

  • @TRUTH-UA
    @TRUTH-UA 2 дні тому

    Суперовий безкоштовний контент українською в галузі IT - це просто SUPER!! Велика Вам подяка! Підписалися на тел-канал, та вже почали вивчати.

  • @oleksandr3275
    @oleksandr3275 6 днів тому

    Дякую, дуже цікаво, та зрозуміло 👍

  • @Rorkr27R
    @Rorkr27R 10 днів тому

    Чи варто братись за котлін Kotlin без знання Java, цікавить саме розробка під андроїд. В деяких вакансіях вказують і знання Java + Kotlin, наскільки реально розробляти додатки без знання java?

  • @bmtt2886
    @bmtt2886 26 днів тому

    Привіт зі Львова , продовжуйте будь ласка. Дякую.

  • @YouMeNow88
    @YouMeNow88 Місяць тому

    15 годин в день вчив програмування)) Ну-ну))) Увесь час коли не спав) Є взагалі уявлення як працює людський мозок, пам’ять і тд?)

  • @mad-hat
    @mad-hat Місяць тому

    супер, до зустрічі в наступних уроках)

  • @mad-hat
    @mad-hat Місяць тому

    Класний початок )

  • @mad-hat
    @mad-hat Місяць тому

    дякую за гарні приклади та пояснення!

  • @mad-hat
    @mad-hat Місяць тому

    Неймовірно класне відео, все доступно та легко сприймаєтсья. За корисні посилання як android.development ВЕЛИЧЕЗНЕ дякую! Було би круто в кжному відео наприклад вкінці вставляти корисні посилання та додавати їх в опис, або одне відео в місяць з корисними фішками, посиланнями та лайфхаками. Удачі в розвитку проекту. А я іду далі дивитись курс...)

  • @mad-hat
    @mad-hat Місяць тому

    просто величезне ДЯКУЮ!)

  • @mad-hat
    @mad-hat Місяць тому

    Просто мега якісне пояснення. дякую!

  • @mad-hat
    @mad-hat Місяць тому

    Класне, коротке та зрозуміле пояснення без води) дякую

  • @mad-hat
    @mad-hat Місяць тому

    Андрій було би круто створити діскорд канал для початківців в розробці на Android для обміну досвідом та корисними фічами в розробці, бо телеграм не дуже зручний. Відео вийшло як завжи позитивно зрозуміле. Дякую за твій внесок в освітньому процесі)

  • @mad-hat
    @mad-hat Місяць тому

    Дуже класне пояснення, впринципі після Java то легко. Дякую за чудовий урок ;)

  • @ЯровенкоЯрославВолодимирович

    It's a cool pitch and affordable

  • @mr.ShredderUa
    @mr.ShredderUa 2 місяці тому

    а ось воно що, поміняйте будь ласка порядок в плейлесті) 5 і 4 місцями)

  • @vitnik4322
    @vitnik4322 2 місяці тому

    Delta 2 повного заряду вистачає лише на 5 годин. Підключений лише холодник з інверторним мотором, бере близько 125 ват. Що не так і як це виправити?

    • @_-_-_-8065
      @_-_-_-8065 Місяць тому

      1)Заряди до 100 розряди от прям до нуля. Хоча б 5 разів, так би мовити " розкачати" 2) обнови прошивку. 3) підключи інший прибор. Який ти впевненеий що він бере наприклад 100 ват. ( Лампочку , або щось подібне).та виміряй. 4) Холодильник постійно всі 5 годин їсть 125? В Дельті 2 батарея 800 ват годин. (Хоча пишуть 1024 и т.д, але э така штука як втрати енергії. Від працюючого інвертора) Тому чесних 800 ват/годин, тому нагрузка яка споживаэ ПОСТІЙНО 125 ват, пропрацюэ 6.5 години. А наприкладі сценарію роботи як у відео , де холод. Виключаеться та включаеться , то помнож на два... Тоб то 13 годин.(Мова йде про звичайну дельта 2 1024 вт.год.) (Того шо на відео дельта 1260 вт.год.)

  • @mr.ShredderUa
    @mr.ShredderUa 2 місяці тому

    в кого не працює по кабелю чи wifi -> шукайте "Парамерти розробника" (вклбчіть їх) далі "Отладка по USB"/"Отладка по WiFi", і ставите галочки. В кого самсунг в настройках в пошуку просто напишіть "pair"

  • @mr.ShredderUa
    @mr.ShredderUa 2 місяці тому

    Дякую за відеоуроки, контент імба, перехожу з front на android розробку. Мужик випусти курс Udemy по Android-studio, бо там в основому якась дікуха. Я б з задоволоннем придбав би. 🔥🔥🔥🔥

  • @БогданБородулін
    @БогданБородулін 2 місяці тому

    Курс жахливий, не робіть більше без монтажу і сценарію

  • @mr.ShredderUa
    @mr.ShredderUa 2 місяці тому

    Раптом хтось забуксував на якійсь задачі, ось мої рішення задач, але в останній використовував Set (зберігає лише унікальні значення), в них я можу десь теж помилитись але наче все працює, fun main(args: Array<String>) { val myNumber = 8 val secondNum = 3 val arrayDouble = arrayOf(1.0, 8.0, 0.5, 12.33) val helloStr = "Привіт!" val arrayWords = arrayOf("лампа", "монітор", "стакан") val arrayCopyWords = arrayOf("лампа", "монітор", "стакан", "монітор") val wordInArray = "монітор" showMultiplyTable(myNumber) multipTwoNumbs(myNumber, secondNum) avrgOfArray(arrayDouble) maxOfArray(arrayDouble) printEvenNumbs() println() reversArray(arrayDouble) println() reversStr(helloStr) findInArray(arrayWords, wordInArray) unicueArray(arrayCopyWords) } /** * Функція повертає масив текстів із унікальними значеннями * */ fun unicueArray(array: Array<String>) { val uniqueItems = array.toSet() val uniqueArr = uniqueItems.toTypedArray() println("Унікальний масив: ${uniqueArr.joinToString()}") } /** * Знайти текст в масиві * */ fun findInArray(array: Array<String>, word: String) { var isArray = false var stringArray = "" for (i in array) { if (i == word) { isArray = true } stringArray += "$i, " } if (isArray) { println("Слово $word є серед слів $stringArray") } else { println("Слово $word немає серед слів $stringArray") } } /** * String навпаки * */ fun reversStr(hello: String) { var helloRevers = "" for (i in hello.indices) { helloRevers += hello[hello.length - i - 1] } println(helloRevers) } /** * Функція повертає масив із числавми тільки навпаки */ fun reversArray(array: Array<Double>) { val copyArray = array.copyOf() for (i in array.indices) { array[i] = copyArray[array.size - i - 1] print("${array[i]} ") } } /** * Відображає непарні (але вони всетаки парні) числа від 1 до 99 * */ fun printEvenNumbs() { for (i in 1..99) { if (i % 2 == 0) { print("$i ") } } } /** * Функція знаходить найбільше число в масиві */ fun maxOfArray(array: Array<Double>) { var maxNumb = array[0] for (i in array) { if (i > maxNumb) { maxNumb = i } } println("Найбільше число в масиві: $maxNumb") } /** * Функція приймає масив, повертає середнє значення з даного масиву */ fun avrgOfArray(array: Array<Double>) { var sum: Double = 0.0 for (i in array) { sum += i } println("Середнє значеня масиву: ${sum / array.size}") } /** * Множить два числа без оператора * * */ fun multipTwoNumbs(firstNum: Int, secondNum: Int) { var sum = 0 var count = secondNum while (count > 0) { sum += firstNum count-- } println("$firstNum x $secondNum = $sum") } fun showMultiplyTable(number: Int) { for (n in 1..10) { val result = number * n println("${number}x${n}=$result") } }

  • @salounlimited6472
    @salounlimited6472 2 місяці тому

    Дуже крутий канал

  • @БогданБородулін
    @БогданБородулін 2 місяці тому

    Як на мене трохи нелогічно, що ми вказали тип значень масиву String, а потім всеодно потрібно задати значення порожніх полів

  • @ser-Sound7
    @ser-Sound7 3 місяці тому

    Отлично но дорого за киловат мощность, у меня дом 7 киловат стоит за 50 тысяч грн а тут 1 за 40😀

  • @volodymyrk6201
    @volodymyrk6201 3 місяці тому

    дякую за цікавий урок

  • @streview2254
    @streview2254 3 місяці тому

    Посортуй відео у списку відтворення по порядку, бо дуже не зручно дивитись.

  • @ВоваМазан-ы4ц
    @ВоваМазан-ы4ц 3 місяці тому

    7:40 мені здається, що тут трохи є неточність, бо у котліні не можна створювати саме АТРИБУТ КЛАСУ var без значення, а не просто змінну. У котліні можна створювати змінні var, не ініціалізувавши їх.

  • @СашаД-ъ3в
    @СашаД-ъ3в 3 місяці тому

    Дякую за урок, чекаю на урок про деспатчери

  • @ІванІванович-м1т
    @ІванІванович-м1т 3 місяці тому

    Чекаємо з нетерпінням! ;)

  • @cocoburko
    @cocoburko 3 місяці тому

    Талант розжовування! Тобі б в університеті викладати. Але судячи з того , що курси валют заюзав билизькі до реальності. То відосики 6ти річної давнини. Негарно людей намахувати застарілим контентом )

  • @xiaomiDnipro
    @xiaomiDnipro 4 місяці тому

    settingsMap.forEach{pair -> run { println("${pair.key}: ${pair.value}"); } }

  • @xiaomiDnipro
    @xiaomiDnipro 4 місяці тому

    Всім привіт, вікаво що моя IDE додала до forEach конструкцію run

  • @ВіталійПлекан-э6х
    @ВіталійПлекан-э6х 4 місяці тому

    Дякую за урок!

  • @GA_RT
    @GA_RT 4 місяці тому

    До Reset бажано добавити when або if бо якщо при pавантаженні не ввівши число, натиснути Reset то буде краш when { numberStringBuilder.isEmpty() -> { } else -> { val lastIndex = numberStringBuilder.length - 1 numberStringBuilder.deleteCharAt(lastIndex) tvResult.text = numberStringBuilder }

  • @winterzaubermann
    @winterzaubermann 4 місяці тому

    Супер дякую!❤

  • @GA_RT
    @GA_RT 4 місяці тому

    А я використав binding.apply{} не знаю наскільки це доцільно але все працює. В скобки переніс всі setOnClickListener а замість змінної вписав id кнопки binding.apply { btZero.setOnClickListener { numberStringBuilder.append(0) resultText.text = numberStringBuilder } btOne.setOnClickListener { numberStringBuilder.append(1) resultText.text = numberStringBuilder } . . . }

  • @GA_RT
    @GA_RT 4 місяці тому

    Застосував binding.apply{} поприкольніше слало в скобки переніс всі setOnClickListener а замість змінної вписав id кнопки binding.apply { btZero.setOnClickListener { numberStringBuilder.append(0) resultText.text = numberStringBuilder } btOne.setOnClickListener { numberStringBuilder.append(1) resultText.text = numberStringBuilder } . . . }

  • @GA_RT
    @GA_RT 4 місяці тому

    Щось в новій версії вже немає того "+" яким можна замінити команду git add . Можливо кудись переїхав )) А так дякую за урок )

  • @maniamz
    @maniamz 4 місяці тому

    Цікаво

  • @СтасФеденько
    @СтасФеденько 4 місяці тому

    це так класно що просувається український ютуб і тим більше такі теми звязані з наукою в приємній мові

  • @GA_RT
    @GA_RT 4 місяці тому

    Лайк за Анатoліч ІДЄ ) Я посміявся )

  • @GA_RT
    @GA_RT 4 місяці тому

    Дякую за відео!! Зробив через ActivityMainBinding класна фішка ну і здається зрозумілішою ніж findViewById binding.btCount.text = "Zbil'shyty na 1" binding.btCount.setOnClickListener { Log.d("TAG","Click") counter += 1 val numberStr = counter.toString() binding.tvCounter.text = numberStr }

  • @leonidefrenov2992
    @leonidefrenov2992 4 місяці тому

    Дуже приємно чути і бачити якійсний контент українською! Дякую автору за зусилля і надіюсь буде ще більше також якісного відео матеріалу!

  • @ВіталійПлекан-э6х
    @ВіталійПлекан-э6х 4 місяці тому

    Дякую, просто, пізнавально і легка подача!

  • @ВіталійПлекан-э6х
    @ВіталійПлекан-э6х 5 місяців тому

    Дякую за український контент

  • @СашаД-ъ3в
    @СашаД-ъ3в 5 місяців тому

    Дякую за вашу роботу, шкодую що не знайшов ваш канал раніше.

  • @MikolaChe
    @MikolaChe 5 місяців тому

    дякую за вашу роботу! Супєр!"

  • @RodniUA
    @RodniUA 5 місяців тому

    Є дуже невелика кількість каналів, на кожному відео яких я ставлю 👍 Ваш -- один з них❤‍🔥

  • @ВоваДяченко-ш6к
    @ВоваДяченко-ш6к 5 місяців тому

    Дякую за курс

  • @AllSC2Replays
    @AllSC2Replays 5 місяців тому

    Значить в Котліні теж можна так робити, брати функцію та зробити декілька її варіантів з однією назвою але різною кількістю параметрів і в залежності від кількості переданих параметрів вона буде виконувати різні завдання.