ru
Feedback

НС ΠΏΠΎΠΏΠ°Π΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΊΠ°Π½Π°Π» Π±ΠΎΡ‚Π°Π²ΠΎΠ΄Π°! Telemetrio Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ‹ πŸ‘‰ Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ β€” ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ подписку

Android Live πŸ€–

Android Live πŸ€–

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Telegram

Π‘Π°ΠΌΡ‹Π΅ свСТиС новости, Π½ΠΎΠ²ΠΈΠ½ΠΊΠΈ ΠΈ Ρ‚Ρ€Π΅Π½Π΄Ρ‹ Android ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Автор: @al_gorshkov, Π§Π°Ρ‚: @android_live_chat Π›ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΠ³: @al_gorshkov_blog Π Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽ

Π‘ΠΎΠ»ΡŒΡˆΠ΅
5 112
ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊΠΈ
-224 часа
-47 Π΄Π½Π΅ΠΉ
-2330 Π΄Π½Π΅ΠΉ
Архив постов
РСбят, Π° ΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ 🀟 Бсылка Π½Π° Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Ρ‚ΡƒΡ‚

πŸ”₯ БСсплатныС практичСскиС Π΄Π΅ΠΌΠΎ-занятия ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ курсов ΠΏΠΎ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Kotlin ΠΎΡ‚ OTUS ΠΈ ΠΠ»ΡŒΡ„Π°-Π‘Π°Π½ΠΊΠ°!
πŸ”₯ БСсплатныС практичСскиС Π΄Π΅ΠΌΠΎ-занятия ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ курсов ΠΏΠΎ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Kotlin ΠΎΡ‚ OTUS ΠΈ ΠΠ»ΡŒΡ„Π°-Π‘Π°Π½ΠΊΠ°! πŸ“Œ 24.03 (БСгодня) - «РисуСм свой Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² AndroidΒ» с Π’Π°Π΄ΠΈΠΌΠΎΠΌ Π“Π°Π»ΡŒΡ†Π΅Π²Ρ‹ΠΌ: https://otus.pw/bEfa/ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ: Рассмотрим основныС инструмСнты для рисования, ΠΈΠ·ΡƒΡ‡ΠΈΠΌ возмоТности классов Canvas, Path, Paint, нарисуСм кастомизируСмый Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ πŸ“Œ25.03 - Β«ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΊΠ°Ρ…Β» с Антоном ΠœΠ°Ρ‡ΠΈΡ…ΠΈΠ½Ρ‹ΠΌ, ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² ООО "ΠœΠΈΡ€ΠΊΠΎΠ΄": https://otus.pw/L8hU/ Π§Π΅ΠΌΡƒ научимся: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android Studio, Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ экран, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ View πŸ“Œ РСгистрируйся, Π° ΠΌΡ‹ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π² Π΄Π°Ρ‚Ρƒ провСдСния Π²Π΅Π±ΠΈΠ½Π°Ρ€Π°!

​​​​Flutter vs Kotlin Multiplatform Mobile #youtube Напоминаю всСм ΠΏΡ€ΠΎ сСгодняшний стрим, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ‚ΡƒΡ‚. Врансляция ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΎΠ½Π»Π°ΠΉΠ½, 24 ΠΌΠ°Ρ€Ρ‚Π° Π² 18:00 ΠΏΠΎ МБК, ΠΊΠ°ΠΊ всСгда Π½Π° Youtube-ΠΊΠ°Π½Π°Π»Π΅ AndroidLive. Бсылка Π½Π° Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Ρ‚ΡƒΡ‚, Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ свои вопросы ΠΈ Ρ‚Π΅ΠΌΡ‹ для сравнСния Ρ‚ΡƒΡ‚. Π”ΠΎ встрСчи!🀟

β€‹β€‹Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка Timber #library Timber довольная популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для логирования. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ Π»ΠΎΠ³ΠΎΠ², ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со стандартными срСдствами. Π•ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΡ‚ JakeWharton, Π½ΠΎ ΠΌΠ½Π΅ большС ΠΏΠΎ Π΄ΡƒΡˆΠ΅ fork, Π³Π΄Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ‡ΡƒΡ‚ΡŒ большС возмоТностСй для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Kotlin. ΠŸΠ°Ρ€Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… настроСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ взаимодСйствиС с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ качСством Π»ΠΎΠ³ΠΎΠ²: 1️⃣ Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Π³ Π² настройках, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΈΠ· вашСго прилоТСния. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ пСрСопрСдСлСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° log Π² DebugTree, Π²Ρ‹Π·Π²Π°Π² super.log(priority, "global_tag_$tag", message, t). 2️⃣ Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ сообщСниС. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ createStackElementTag Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ DebugTree, ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² ΠΏΠΎΠΊΠ°Π· сообщСния. ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сюда ΠΆΠ΅ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ сообщСниС. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΊΠΎΠ΄Π° ΠΎΠ± этих настройках ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΡƒΡ‚.

πŸ”₯ БСсплатноС практичСскоС Π΄Π΅ΠΌΠΎ-занятиС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ курса ΠΏΠΎ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Kotlin ΠΎΡ‚ OTUS ΠΈ ΠΠ»ΡŒΡ„Π°-Π‘Π°Π½ΠΊΠ°! πŸ“Œ 24.03 -
πŸ”₯ БСсплатноС практичСскоС Π΄Π΅ΠΌΠΎ-занятиС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ курса ΠΏΠΎ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Kotlin ΠΎΡ‚ OTUS ΠΈ ΠΠ»ΡŒΡ„Π°-Π‘Π°Π½ΠΊΠ°! πŸ“Œ 24.03 - «РисуСм свой Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² AndroidΒ» с Π’Π°Π΄ΠΈΠΌΠΎΠΌ Π“Π°Π»ΡŒΡ†Π΅Π²Ρ‹ΠΌ: https://otus.pw/PTt3/ Π§Π΅ΠΌΡƒ научимся: β€” Рассмотрим основныС инструмСнты для рисования β€” Π˜Π·ΡƒΡ‡ΠΈΠΌ возмоТности классов Canvas, Path, Paint β€” НарисуСм кастомизируСмый Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ πŸ“Œ РСгистрируйся, Π° ΠΌΡ‹ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π² Π΄Π°Ρ‚Ρƒ провСдСния Π²Π΅Π±ΠΈΠ½Π°Ρ€Π°! Π£ΠΆΠ΅ всС ΡƒΠΌΠ΅Π΅ΡˆΡŒ? ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒ свои знания Π², казалось Π±Ρ‹, слоТном тСстС ΠΏΠΎ ссылкС https://otus.pw/1yso/

​​onActivityCreated() Π²ΠΎ Fragment β€” deprecated #fragment НавСрноС, это ΡƒΠΆΠ΅ Π½Π΅ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹, ΠΊΠ°ΠΊ ΠΈ я, пропустили Π΅Ρ‘. Π‘Ρ‚ΠΎΠΈΠ»ΠΎ ΠΌΠ½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² основном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ я ΡƒΠ²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ onActivityCreated() стал deprecated. Π§Ρ‚ΠΎ это Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ стал Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ deprecated? Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ сущСствуСт ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ нСзависимый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Для ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ отобраТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² Activity, ΠΈΠ»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Fragment. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Activity Π±Ρ‹Π» создан ΠΈ Π±Ρ‹Π» создан этот ΠΌΠ΅Ρ‚ΠΎΠ΄. Но Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ пСрСосмыслСниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π΅Ρ‰Π°ΠΌ. НС каТСтся Π»ΠΈ Π²Π°ΠΌ странным, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ класс ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² своём ΠΆΠΈΠ·Π½Π΅Π½Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» создан Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс? Π’ΠΎΡ‚ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Google посчитали это странным ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Fragment ΠΌΠ΅Π½Π΅Π΅ зависимым ΠΎΡ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄. БСйчас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ: 1️⃣ ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, связанныС со View Π²ΠΎ Fragment Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² onViewCreated(). 2️⃣ Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Activity Π±Ρ‹Π»Π° создана, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ LifeCycleObserver Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onAttach() ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½ послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onCreate(). Как ΠΏΠΎ ΠΌΠ½Π΅, Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ. Π’ Ρ†Π΅Π»ΠΎΠΌ, интСрСсно, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя Fragment дальшС, Ссли Π΅Π³ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΅ зависимым ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй прилоТСния. πŸ€”

πŸ”₯ БСсплатныС практичСскиС Π΄Π΅ΠΌΠΎ-занятия ΠΏΠΎ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Kotlin ΠΎΡ‚ OTUS ΠΈ ΠΠ»ΡŒΡ„Π°-Π‘Π°Π½ΠΊΠ°! πŸ“Œ 22.03 - «РисуСм свой Π³Ρ€Π°Ρ„ΠΈΠΊ
πŸ”₯ БСсплатныС практичСскиС Π΄Π΅ΠΌΠΎ-занятия ΠΏΠΎ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Kotlin ΠΎΡ‚ OTUS ΠΈ ΠΠ»ΡŒΡ„Π°-Π‘Π°Π½ΠΊΠ°! πŸ“Œ 22.03 - «РисуСм свой Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² AndroidΒ» с Π’Π°Π΄ΠΈΠΌΠΎΠΌ Π“Π°Π»ΡŒΡ†Π΅Π²Ρ‹ΠΌ: https://otus.pw/FLHe/ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ: Рассмотрим основныС инструмСнты для рисования, ΠΈΠ·ΡƒΡ‡ΠΈΠΌ возмоТности классов Canvas, Path, Paint, нарисуСм кастомизируСмый Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ πŸ“Œ25.03 - Β«ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΊΠ°Ρ…Β» с Антоном ΠœΠ°Ρ‡ΠΈΡ…ΠΈΠ½Ρ‹ΠΌ, ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² ООО "ΠœΠΈΡ€ΠΊΠΎΠ΄": https://otus.pw/G4xa/ Π§Π΅ΠΌΡƒ научимся: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android Studio, Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ экран, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ View πŸ“Œ РСгистрируйся, Π° ΠΌΡ‹ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π² Π΄Π°Ρ‚Ρƒ провСдСния Π²Π΅Π±ΠΈΠ½Π°Ρ€Π°! Π£ΠΆΠ΅ всС ΡƒΠΌΠ΅Π΅ΡˆΡŒ? ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒ свои знания Π², казалось Π±Ρ‹, слоТном тСстС ΠΏΠΎ ссылкС https://otus.pw/xHYl/

β€‹β€‹ΠšΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Bitmap #view #library Если ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ с OutOfMemory, Ρ‚ΠΎ Ρ‡Π°Ρ‰Π΅ всСго Π΄ΡƒΠΌΠ°Π΅ΠΌ ΠΏΡ€ΠΎ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Однако, подобная ошибка Π½Π΅ всСгда Π²Ρ‹Π·Π²Π°Π½Π° ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌΠΈ памяти. Одной ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ использованиС памяти нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π•ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ с изобраТСниями. 1️⃣ ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° bitmap. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ profiler. Автор Ρ‚Π°ΠΊΠΆΠ΅ совСтуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ устройства с Android 7.1 ΠΈ Π½ΠΈΠΆΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ preview изобраТСния. 2️⃣ Π”Π°Π»Π΅Π΅ стоит ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° качСство вашСго изобраТСния ΠΈ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ImageView, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅. Если ΠΎΠ½ΠΎ мСньшС, Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ fit() ΠΈ centerInside() для Glide ΠΈ Picasso. 3️⃣ Ну ΠΈ напослСдок стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ AGRB_8888, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· пиксСлСй. Но для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ достаточно RGB_565, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² 2 Ρ€Π°Π·Π° мСньшС Π±Π°ΠΉΡ‚ΠΎΠ². Π”Π°, качСство ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ получаСтся Ρ…ΡƒΠΆΠ΅, ΠΈ Π½Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ прозрачности. Но для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ достаточно ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ качСства.

Π•ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹ΠΉ опрос ΠΊΠΎΠΌΠ°Π½Π΄ российской Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π’ этом Π³ΠΎΠ΄Ρƒ начался Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹ΠΉ, пятый опрос ΠΏΡ€ΠΎ отСчСствСнныС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Из Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ: πŸ“– ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΡ‰ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ знания; πŸ’ͺ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ самыС ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅; 🌟 Π² ΠΊΠ°ΠΊΠΈΡ… компаниях ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ хотят Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ большС всСго. Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°, Π° ΠΏΠΎΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² опросС этого Π³ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΡƒΡ‚. ΠžΠΏΡ€ΠΎΡ Π·Π°ΠΉΠΌΡ‘Ρ‚ Π½Π΅ большС ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· шагов Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°Π½Π°Π» Android Live, для мСня это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ 🀝.

​​УстанавливаСм ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько вСрсий прилоТСния #beginners МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свои Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ Π² качСствС устройств для тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ Ρ†Π΅Π»ΠΎΠΌ, Π² этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния Π½Π° устройствС. Битуация усугубляСтся, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ debug, test ΠΈ release вСрсии. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ достаточно простоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ прилоТСния Π½Π° ΠΎΠ΄Π½ΠΎΠΌ устройствС. Π’ΠΎΡ‚ Π²Π°ΠΌ инструкция, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ: πŸ”ΈΠ½Π°ΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ buildTypes. Π‘Π΄Π΅Π»Π°Π΅ΠΌ test ΠΈ release; πŸ”ΈΠ΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ applicationIdSuffix для test-вСрсии. НапримСр, _test; πŸ”ΈΠ΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ test-сборки. Π’ Android Studio Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ xml-Ρ„Π°ΠΉΠ» для строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ помСститС Π² ΠΏΠ°ΠΏΠΊΡƒ test/res/values. Π’Π°ΠΌ ΡƒΠΆΠ΅ сдСлайтС Π½ΡƒΠΆΠ½ΠΎΠ΅ Π²Π°ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ Π±ΠΈΠ»Π΄Π° пСрСмСститС Π² release/res/values. πŸ”ΈΠ΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² test/res, Android Studio ΠΌΠΎΠΆΠ΅Ρ‚ всё ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π° вас. πŸ”ΈΠ·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ для Firebase ΠΈ ΠΏΠΎΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» google-services.json, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ сам Firebase. На этом всё, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сборок Ρ€Π΅ΡˆΠ΅Π½Π°. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

​​БозданиС простого ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² Android Studio #theory Попалась Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ, которая повзоляСт ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² Android Studio. ΠŸΡ€Π°Π²Π΄Π°, это Π΅Ρ‰Ρ‘ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пСрвая Ρ‡Π°ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ, поэтому основная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅. Но Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, написав ΠΏΡ€ΠΈ этом дСсяток строк ΠΊΠΎΠ΄Π°. По сути, вся Ρ€Π°Π±ΠΎΡ‚Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: 1) Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, выбирая Β«IntelliJ platform pluginΒ» ΠΈΠ· списка. 2) Π”Π°Π»Π΅Π΅ создаём Π½ΠΎΠ²ΠΎΠ΅ дСйствиС, Π½Π°ΡΠ»Π΅Π΄ΡƒΡΡΡŒ ΠΎΡ‚ класса AnAction. Π’ Ρ†Π΅Π»ΠΎΠΌ, это Π²ΡΡ‘πŸ€Ÿ. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ студии ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π°ΠΌ дСйствия. Π‘Ρ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнныС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ дСйствия.

Как Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Huawei Mobile Services Π² 6 простых шагов Π’ 2020 Π½Π° долю Huawei Π² России ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ 18% ΠΌΠΎ
Как Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Huawei Mobile Services Π² 6 простых шагов Π’ 2020 Π½Π° долю Huawei Π² России ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ 18% мобильного Ρ€Ρ‹Π½ΠΊΠ°. Π€Π°Π½Π±Π°Π·Π° Π³ΠΈΠ³Π°Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ расти Π΄Π°ΠΆΠ΅ нСсмотря Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΎΡ‚ Google экосистСму сСрвисов. Пока власти БША ΠΈ ΠšΠΈΡ‚Π°Ρ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ разногласия, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится Π²Ρ‹ΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π“Π΅ΠΎΡ€Π³ΠΈΠΉ Π“ΠΈΠ³Π°ΡƒΡ€ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Delivery Club, подСлился своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΏΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Huawei-устройств. ΠŸΠΎΡΡ‚Π°ΠΏΠ½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Π₯Π°Π±Ρ€Π΅, Π° для Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π΅ΡΡ‚ΡŒ приятный бонус с ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Mobius 2020

β€‹β€‹ΠšΠ°ΠΊ data-классы Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ прилоТСния #kotlin Π’ Kotlin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡: null safety, smart casts, inline-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, sealed-классы. Одной ΠΈΠ· самых часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΠΈΡ‡ являСтся data-классы. ΠœΡ‹ ΡƒΠΆΠ΅ обсуТдали Π½Π° ΠΊΠ°Π½Π°Π»Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΡ… Ρ‚Π°ΠΌ, Π³Π΄Π΅ вся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ этих классов Π½Π΅ Π½ΡƒΠΆΠ½Π°. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π½Ρƒ использования data-классов с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния размСрности прилоТСния. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ R8 ΠΈΠ· Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ прилоТСния ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ componentN()-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ copy(). Но имплСмСнтация toString(), equals() ΠΈ hashCode() остаётся Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ gradle-ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡƒΠ΄Π°Π»ΠΈΠ» эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° прилоТСния Π½Π° 500KiB (ΠΈΠ»ΠΈ 4% ΠΎΡ‚ всСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° прилоТСния), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ числа ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° 15000. МоТно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ своим прилоТСниям, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ data-классов.

Π’ ΠΊΠ°Π½Π°Π»Π΅ Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° рассказываСм ΠΎ тонкостях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android, iOS ΠΈ кроссплатформу. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ
Π’ ΠΊΠ°Π½Π°Π»Π΅ Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° рассказываСм ΠΎ тонкостях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android, iOS ΠΈ кроссплатформу. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ, Ссли Π΅Ρ‰Ρ‘ Π½Π΅: @mobi_dev

​​Flutter vs Kotlin Multiplatform Mobile #youtube ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΈΠΌΠ²ΠΎΡ€ΠΊΠΈ всСгда Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈ ΠΆΠ°Ρ€ΠΊΠΈΠ΅ споры Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НСкоторыС ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ качСствСнныС прилоТСния. Π”Ρ€ΡƒΠ³ΠΈΠ΅ β€” Ρ‡Ρ‚ΠΎ кроссплатформа Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ смоТСт ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒΡΡ с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π½Π΅ стоит Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Ρ‘ врСмя. Если Π²Ρ‹ сторонник ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мнСния, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос, ΠΊΠ°ΠΊΠΎΠΉ инструмСнт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ. Π’ соврСмСнном ΠΌΠΈΡ€Π΅ мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅ΡΡ‚ΡŒ Π΄Π²Π° основных кроссплатформСнных Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°: Flutter ΠΈ Kotlin Multiplatform Mobile. Π”Π°Π²Π°ΠΉΡ‚Π΅ обсудим с экспСртами Π² этих тСхнологиях Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ прСимущСства ΠΈ нСдостатки ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ! Π‘ΡƒΠ΄Π΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ, ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈβ€¦ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π‘Π²ΠΎΠΈ ΠΈΠ΄Π΅ΠΈ ΠΈ вопросы ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΊΠΈΠ΄Π°Ρ‚ΡŒ сюда. Наши экспСрты: πŸ”΄ АлСксандр ДСнисов, Lead Software Engineer, Co-Head of Flutter Competency Π² EPAM Systems, Flutter and Dart GDE. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡƒΠΆΠ΅ 15 Π»Π΅Ρ‚, Π° с появлСниСм Flutter Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ увлСкся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½Π° Dart. πŸŸ’ΠΡ€Ρ‚Ρ‘ΠΌ Олков, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² ЯндСкс.Диск, Ρ‡Π»Π΅Π½ ПК Podlodka iOS Crew. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ с 2011 Π³ΠΎΠ΄Π°, с 2013 ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π° iOS. Π‘ 2019-Π³ΠΎ Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ЯндСкс.Диск, Π³Π΄Π΅ ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΠ» KMM Π² ΠΏΡ€ΠΎΠ΄. Врансляция ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΎΠ½Π»Π°ΠΉΠ½, 24 ΠΌΠ°Ρ€Ρ‚Π° Π² 18:00 ΠΏΠΎ МБК, ΠΊΠ°ΠΊ всСгда Π½Π° Youtube-ΠΊΠ°Π½Π°Π»Π΅ AndroidLive. Бсылка Π½Π° Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Ρ‚ΡƒΡ‚, Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ свои вопросы ΠΈ Ρ‚Π΅ΠΌΡ‹ для сравнСния Ρ‚ΡƒΡ‚. Π”ΠΎ встрСчи!🀟

​​БудущСС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: Kotlin Multiplatform ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ UI #theory #crossplatform Попалась Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ, которая описываСт Β«Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΒ». ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² я ΡΠ»Ρ‹ΡˆΠ°Π» ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, описанноС Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ большСй части я солидарСн, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° двиТСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Автор рассказываСт ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Kotlin Multiplatform Π½Π° Android, iOS ΠΈ Web. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ тСзисы: πŸ”ΉΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 85% ΠΊΠΎΠ΄Π°; πŸ”ΉUI описываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΈΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²; πŸ”ΉMVI-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ состояниСм View; πŸ”ΉΡ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° 3 ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π½Ρ‹Π΅ прилоТСния становятся дСшСвлС Π² создании ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π°Π²Ρ‚ΠΎΡ€ описываСт Ρ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ сСйчас Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. НапримСр, для Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ UI Π½Π° Android ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ всСм Π½Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Jetpack Compose, для iOS β€” SwiftUI, Π° для Web β€” React.js. Удивился Ρ‚ΠΎΠΌΡƒ, сколько ΡƒΠΆΠ΅ написано Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для Multiplatform. Π­Ρ‚ΠΎ ΠΈ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΈ SQL-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π°Π½Π°Π»ΠΎΠ³ SharedPreferences. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΎΠ±ΠΎ всём этом ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΡΡ‚Π°Ρ‚ΡŒΡŽ. Она состоит ΠΈΠ· 3 частСй, ссылка Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ, Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ части. Π‘Π»ΠΈΠ·ΠΊΠΎ Π»ΠΈ Π²Π°ΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅, описанноС Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡΡ‚Π°Ρ‚ΡŒΠΈ? И ΠΊΡƒΠ΄Π° ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ мнСнию двиТСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ?

​​Material Navigation Rail #view #material Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹, ΠΊΠ°ΠΊ ΠΈ я, пропустили Π²Ρ‹Ρ…ΠΎΠ΄ свСТСй alpha-вСрсии material-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ΡƒΠ΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ фиксы, связанныС с ProgressIndicator, Π° Ρ‡Ρ‚ΠΎ нас большС интСрСсуСт β€” Ρ‚Π°ΠΊ это Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ NavigationRail. По сути, ΠΎΠ½ повторяСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ BottomNavigationView, Π½ΠΎ располагаСтся сбоку, Π° Π½Π΅ снизу. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ 3 Π΄ΠΎ 7, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя ΠΈΠΊΠΎΠ½ΠΊΡƒ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ Π·Π½Π°Ρ‡ΠΎΠΊ-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎΡ‚ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ счётчик. ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ header. Как ΠΏΠΎ ΠΌΠ½Π΅, это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ RecyclerView. ОсобСнно ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ прилоТСниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ…. Π§ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π½Ρ‘ΠΌ Ρ‚ΡƒΡ‚.

βš‘Π‘Π΅ΡΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ для всСх, ΠΊΡ‚ΠΎ интСрСсуСтся языками JVM! 11 ΠΌΠ°Ρ€Ρ‚Π° - Π”Π΅ΠΌΠΎ-ΡƒΡ€ΠΎΠΊ Π½Π° Ρ‚Π΅ΠΌΡƒ Β«Π­Ρ„Ρ„Π΅ΠΊΡ‚Ρ‹ Π² ScalaΒ» На занятии рассмотри
βš‘Π‘Π΅ΡΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ для всСх, ΠΊΡ‚ΠΎ интСрСсуСтся языками JVM! 11 ΠΌΠ°Ρ€Ρ‚Π° - Π”Π΅ΠΌΠΎ-ΡƒΡ€ΠΎΠΊ Π½Π° Ρ‚Π΅ΠΌΡƒ Β«Π­Ρ„Ρ„Π΅ΠΊΡ‚Ρ‹ Π² ScalaΒ» На занятии рассмотрим понятиС эффСкта ΠΈ слоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Π²Π²Π΅Π΄Π΅ΠΌ понятиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ эффСкта, рассмотрим Π΅Π³ΠΎ свойства ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ свой нСбольшой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ эффСкт. РСгистрация: https://otus.pw/5aaN/ 25 ΠΌΠ°Ρ€Ρ‚Π° - Π”Π΅ΠΌΠΎ-ΡƒΡ€ΠΎΠΊ Β«Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ°ΠΊ основной Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС» Π£Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π²ΠΈΠ΄Ρ‹ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ частями систСмы, ΠΈΡ… ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ познакомимся с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ, основанной Π½Π° событиях. Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AΠΊΠΊΠ° persistence ΠΈ Scala, ΡƒΠ·Π½Π°Π΅ΠΌ ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ событийно ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. РСгистрация: https://otus.pw/weSr/ πŸŒ‹ Для рСгистрации Π½Π° Π²Π΅Π±ΠΈΠ½Π°Ρ€Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ тСстированиС, ошибки Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π° занятии!

β€‹β€‹ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Coroutines #coroutines На сайтС для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ Google появились ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Coroutines. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡ… рассмотрим. πŸ”ΉΠ½Π΅Π»ΡŒΠ·Ρ Ρ…Π°Ρ€Π΄ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Dispatchers. ОсобСнно это касаСтся Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Coroutines Π²ΠΎ ViewModel. Google ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ диспСтчСр Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² зависимости ΠΎΡ‚ контСкста. Плюсом Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся простота тСстирования. Из ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ добавлю сюда ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ элСмСнта, Π° ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ с 3 основными Dispatchers, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ для тСстирования. На ΠΌΠΎΠΉ взгляд, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. πŸ”Ήsuspend-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ бСзопасными для Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· основного ΠΏΠΎΡ‚ΠΎΠΊΠ°. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этого withContext, Π³Π΄Π΅ Π½Π°Π΄ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ для выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π½ΠΎ я Π½Π΅ часто встрСчал Π΅Π³ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. πŸ”ΉViewModel Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ отвСтствСнными Π·Π° Coroutines. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½: нСльзя Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ suspend-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π²ΠΎ View, Π³Π΄Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ· Π½Π΅Ρ‘ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этих Ρ†Π΅Π»Π΅ΠΉ Flow ΠΈΠ»ΠΈ LiveData. πŸ”ΉΠ½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ измСняСмыС Ρ‚ΠΈΠΏΡ‹ ΠΈΠ· ViewModel, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ MutableStateFlow ΠΈΠ»ΠΈ MutableLiveData. Π­Ρ‚ΠΎ дСлаСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ возмоТности ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· View. πŸ”ΉΡΠ»ΠΎΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ suspend-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠ»ΠΈ Flow. ΠŸΠ»ΡŽΡΡƒΡŽ Π·Π° эту Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΏΡ€ΠΎΡ‚Π°ΡΠΊΠΈΠ²Π°ΡŽΡ‚ LiveData Π²ΠΎ всС слои прилоТСния, Π³Π΄Π΅ Π΅Ρ‘ Ρ„ΠΈΡ‡ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. πŸ”ΉΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ GlobalScope. Π­Ρ‚ΠΎ затрудняСт тСстированиС ΠΈ debug прилоТСния. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Β«ΠΏΠ΅Ρ€Π΅ΠΆΠΈΡ‚ΡŒΒ» Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ экран, Ρ‚ΠΎ стоит Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ scope, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΆΠΈΠ²ΡƒΡ‰ΠΈΠΌ дольшС, Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ экран. πŸ”ΉΠ½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ suspend-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этого try-catch, хотя ΠΌΠ½Π΅ большС нравится CoroutineExceptionHandler.

​​А сСгодня Ρƒ нас 8 ΠΌΠ°Ρ€Ρ‚Π° β€” ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ ТСнский дСнь. ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ всСх подписчиков ТСнского ΠΏΠΎΠ»Π° с этим ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΎΠΌ, ТСлаю Ρ‚Ρ‘ΠΏΠ»ΠΎΠΉ вСсны, ΠΌΠ½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ любви. Ну Π° ΠΏΠ°Ρ€Π½ΠΈ β€” Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ·Π΄Ρ€Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… ΠΌΠ°ΠΌ, ΠΆΡ‘Π½ ΠΈ Π΄Π΅Π²ΡƒΡˆΠ΅ΠΊ с этим ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΎΠΌ, ΠΏΡƒΡΡ‚ΡŒ улыбнутся. А Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠΆΠ΅ проголосуСм, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ для ΠΏΠΎΠ΄Π°Ρ€ΠΊΠ°?