#Collections
Item: Consider aggregating elements to a map
Как найти элемент в списке? Пройтись по элементам этого списка и найти тот, который удовлетворяет условию. решение тривиально, но имеет не лучшую сложность O(n), где n - количество элементов в списке.
Для ускорения поиска можно воспользоваться хэш таблицей или ее реализацией - HashMap. Больше подробностей в статье
Item: Consider aggregating elements to a map
Как найти элемент в списке? Пройтись по элементам этого списка и найти тот, который удовлетворяет условию. решение тривиально, но имеет не лучшую сложность O(n), где n - количество элементов в списке.
Для ускорения поиска можно воспользоваться хэш таблицей или ее реализацией - HashMap. Больше подробностей в статье
Medium
Item: Consider aggregating elements to a map
It is not uncommon to have a bigger set of elements we need to access many times. It might be:
#CodeLab
CodeLab "Starting Android Accessibility"
Продолжительность: 16 минут
Сделать приложение, которым могут пользоваться абсолютно все люди - это важная задача инженера. Современный мобильный телефон использует множество людей с ограниченными возможностями и забывать о них нельзя
Google сделал новую codelab в которой можно:
👉 познакомиться с базисами адаптации приложений
👉 как проверить какие проблему по accessibility есть в вашем приложении
👉 как исправить эти проблемы
CodeLab "Starting Android Accessibility"
Продолжительность: 16 минут
Сделать приложение, которым могут пользоваться абсолютно все люди - это важная задача инженера. Современный мобильный телефон использует множество людей с ограниченными возможностями и забывать о них нельзя
Google сделал новую codelab в которой можно:
👉 познакомиться с базисами адаптации приложений
👉 как проверить какие проблему по accessibility есть в вашем приложении
👉 как исправить эти проблемы
#View
Replacing Custom Views with View Binding
Взгляд на то, как можно в некоторых случаях отказаться написания собственной view, а на замену использовать View Binding
Replacing Custom Views with View Binding
Взгляд на то, как можно в некоторых случаях отказаться написания собственной view, а на замену использовать View Binding
Medium
Replacing Custom Views with View Binding
Custom Views can often be overkill. Here’s how we used View Binding as a replacement.
#Coroutines
Deep recursion with coroutines
Рецепт от Романа Елизарова как Kotlin Coroutine могут эффективно решить задачи, которую требуют рекурсивного обхода на примере поиска глубины бинарного дерева.
Deep recursion with coroutines
Рецепт от Романа Елизарова как Kotlin Coroutine могут эффективно решить задачи, которую требуют рекурсивного обхода на примере поиска глубины бинарного дерева.
Medium
Deep recursion with coroutines
Kotlin Coroutines go beyond asynchronous programming. We can use them to write deep recursive functions.
#Coroutines
Coroutines and exceptions: things to know
Вроде как Coroutine должны были упростить нам асинхронный код, но вот обработка исключений в них оказалась нетривиальной задачей.
В статье разбираются с различными поведением когда выбрасывается исключение
Coroutines and exceptions: things to know
Вроде как Coroutine должны были упростить нам асинхронный код, но вот обработка исключений в них оказалась нетривиальной задачей.
В статье разбираются с различными поведением когда выбрасывается исключение
Rock and Null
Coroutines and exceptions: things to know
When everything goes according to plan, no need to worry about weird behavior from coroutines. What happens though when exceptions are thrown?
#Android11
High refresh rate rendering on Android
Мы привыкли к тому, что на отрисовку одного кадра у нас есть 16.6 мс т.к. современные устройства имеют дисплей 60 Hz. Но это уже стало не совсем правдой, т.к. современные флагманы уже имеют частоту 90 Hz и даже 120!
В Android 11 появились возможность для того, чтобы получать информацию о частоте обновления дисплея и сообщать какую стоит использовать, если ваше приложение не может поддерживать частоту дисплея.
High refresh rate rendering on Android
Мы привыкли к тому, что на отрисовку одного кадра у нас есть 16.6 мс т.к. современные устройства имеют дисплей 60 Hz. Но это уже стало не совсем правдой, т.к. современные флагманы уже имеют частоту 90 Hz и даже 120!
В Android 11 появились возможность для того, чтобы получать информацию о частоте обновления дисплея и сообщать какую стоит использовать, если ваше приложение не может поддерживать частоту дисплея.
Android Developers Blog
High refresh rate rendering on Android
Posted by Ady Abraham, Software Engineer For a long time, phones have had a display that refreshes at 60Hz. Application and game dev...
#Интервью #Видео
Опыт проведения Android собеседований: как вести и какие требования
Доступна запись стрима, где Кирилл Розов и Денис Неклюдов ответили на вопросы про собеседования, раскрыли тайны и постарались развеять мифы и убеждения.
Также вы можете выиграть курс о том как прокачаться в навыке прохождения интервью. Условия:
- Подписаться на YouTube канал
- Оставить комментарий с историей о интервью
- Дождаться розыгрыша 4 мая
Опыт проведения Android собеседований: как вести и какие требования
Доступна запись стрима, где Кирилл Розов и Денис Неклюдов ответили на вопросы про собеседования, раскрыли тайны и постарались развеять мифы и убеждения.
Также вы можете выиграть курс о том как прокачаться в навыке прохождения интервью. Условия:
- Подписаться на YouTube канал
- Оставить комментарий с историей о интервью
- Дождаться розыгрыша 4 мая
YouTube
Опыт проведения Android собеседований: как вести и какие требования
Прохождение интервью - это непростой процесс, как и для того проходит, так и для кто проводит. Страх перед нажать кнопку "Отправить резюме" в большую и известную компанию. Обсудим все в живом формате и вы сможете подключиться и задать свои вопросы.
Своим…
Своим…
DevJobAccelerator - Карьерный акселератор для разработчиков
Совсем скоро стартует курс от Дениса Неклюдов и Екатерины Петровой о том, как прокачать свои скиллы прохождения интервью и попасть в топовые компании со всего мира.
Первый вебинар состоится 5 мая и будет бесплатным, а вот за следующий надо платить, но подписчикам канала скидка 20% по промокоду Broadcast.
Можно получить курс бесплатно - участвуйте в конкурсе из предыдущего поста.
Совсем скоро стартует курс от Дениса Неклюдов и Екатерины Петровой о том, как прокачать свои скиллы прохождения интервью и попасть в топовые компании со всего мира.
Первый вебинар состоится 5 мая и будет бесплатным, а вот за следующий надо платить, но подписчикам канала скидка 20% по промокоду Broadcast.
Можно получить курс бесплатно - участвуйте в конкурсе из предыдущего поста.
getmatch.ru
Работа в IT-индустрии, вакансии и резюме, поиск работы — getmatch
getmatch помогает работодателям найти качественных специалистов, а кандидатам — работу в IT-сфере: разработка, тестирование, дизайн, аналитика, менеджмент и др.
This media is not supported in your browser
VIEW IN TELEGRAM
#AndroidStudio #Emulator
Run the Android Emulator directly in Android Studio
В Android Studio 4.1 Canary 8 добавили встроенный эмулятор прямо в Android Studio, теперь не нужно переключаться между окнами
Run the Android Emulator directly in Android Studio
В Android Studio 4.1 Canary 8 добавили встроенный эмулятор прямо в Android Studio, теперь не нужно переключаться между окнами
#AndroidStudio
ПШЕ AndroidStudio или как использовать VCS Tools по полной
Разбор интересных возможностей Git для разработчика и как эффективно можно с ними работать из Android Studio. Все подробно и со скриншотами
ПШЕ AndroidStudio или как использовать VCS Tools по полной
Разбор интересных возможностей Git для разработчика и как эффективно можно с ними работать из Android Studio. Все подробно и со скриншотами
Хабр
ПШЕ AndroidStudio или как использовать VCS Tools по полной
ПШЕ AndroidStudio или как использовать VCS Tools по полной - Все хорошо, только перед влитием обязательно засквошь коммиты. - Заскво...Что? Примерно такая реакци...
#Jetpack #CameraX
Display a camera preview with PreviewView
CameraX - это библиотека из Android Jetpack, цель которой упростить задачи разработчиков, связанных с камерой.
Одной из таких задач является отображение текущего изображения с камеры. Для таких задач появилась специальная view - PreviewView.
В статье раскрываются особенности работы и возможности:
👉 Особенности
👉 Когда используется
👉 Режима масштабирования
👉 Управление камерой (MeteringPointFactory)
Display a camera preview with PreviewView
CameraX - это библиотека из Android Jetpack, цель которой упростить задачи разработчиков, связанных с камерой.
Одной из таких задач является отображение текущего изображения с камеры. Для таких задач появилась специальная view - PreviewView.
В статье раскрываются особенности работы и возможности:
👉 Особенности
PreviewView
👉 Когда используется
SurfaceView
, а когда TextureView
для отрисовки превью👉 Режима масштабирования
👉 Управление камерой (MeteringPointFactory)
Medium
Display a camera preview with PreviewView
Android Jetpack CameraX: PreviewView
Android Broadcast
Для каких устройств адаптируете Android приложения? Не просто даёте запускаться, а именно используете возможности
МОЖНО ВЫБРАТЬ НЕСКОЛЬКО ВАРИАНТОВ
МОЖНО ВЫБРАТЬ НЕСКОЛЬКО ВАРИАНТОВ
Результаты опроса меня приятно удивили - 1/4 разработчиков заботятся поддержкой планшетов. Что же это за приложения?
#Network
Вышел OkHttp 4.6.0
В новой версии из самого мажорного - исправление багов, обновление зависимостей. Я что-то упустил важное из анонса?
Вышел OkHttp 4.6.0
В новой версии из самого мажорного - исправление багов, обновление зависимостей. Я что-то упустил важное из анонса?
square.github.io
Change Log - OkHttp
An HTTP & HTTP/2 client for Android and Java applications
#Jetpack
Обновление Android Jetpack 29.04.2020
Новая порция обновлений стандартных библиотек в dev рационе любого Android разработчика.
👉 Обновление Emoji
👉 Нас радуют рефакторигом Activity Result API. Также
👉 Документация для обмена данными между 2 Fragment обновилась
👉 Navigation 2.3.0-alpha06 улучшила поддержку deep link
👉 WorkManager 2.4.0-alpha03 поддерживает RxJava 3 и улучшает API
Все остальное по мелочи и ознакомиться можно здесь
Обновление Android Jetpack 29.04.2020
Новая порция обновлений стандартных библиотек в dev рационе любого Android разработчика.
👉 Обновление Emoji
👉 Нас радуют рефакторигом Activity Result API. Также
startActivityForResult()
, onActivityResult()
и onRequestPermissionsResult()
теперь deprecated! Fragment.setTargetFragment()
удостоилась того же👉 Документация для обмена данными между 2 Fragment обновилась
👉 Navigation 2.3.0-alpha06 улучшила поддержку deep link
👉 WorkManager 2.4.0-alpha03 поддерживает RxJava 3 и улучшает API
Все остальное по мелочи и ознакомиться можно здесь
#Podcast
Как начать контрибьютить в большой Open Source проект
Время пандемии и карантина хороший повод приобрести новые навыки, например законтрибьютать в большой проект и как это происходит. В новом выпуске подкаста разобрались как сделать на примере Spring и Swift.
Гость выпуска - Максим Кита, активный контрибьютор в Swift, iOS разработчик в EPAM
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Как начать контрибьютить в большой Open Source проект
Время пандемии и карантина хороший повод приобрести новые навыки, например законтрибьютать в большой проект и как это происходит. В новом выпуске подкаста разобрались как сделать на примере Spring и Swift.
Гость выпуска - Максим Кита, активный контрибьютор в Swift, iOS разработчик в EPAM
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
#Conference #Online
Mobius Online
22-25 июня пройдет крупнейшая мобильная конференция России. В этом году она состоится в формате онлайн и вас ждет 4 дня разнообразного сумасшедшего контента:
👉 Спикеры из Google, Grab, Lyft, Mail.ru, JetBrains Kaspersky Lab, Яндекс
👉 Jetpack Compose
👉 Bazel
👉 Kotlin
👉 Firebase
Среди спикеров такие громкие имена как Денис Неклюдов, Степан Гончаров, Константин Цховребов и множество других спикеров
Для всех подписчиков канала можно купить билет со скидкой по промокоду AndroidBC2020pc
Mobius Online
22-25 июня пройдет крупнейшая мобильная конференция России. В этом году она состоится в формате онлайн и вас ждет 4 дня разнообразного сумасшедшего контента:
👉 Спикеры из Google, Grab, Lyft, Mail.ru, JetBrains Kaspersky Lab, Яндекс
👉 Jetpack Compose
👉 Bazel
👉 Kotlin
👉 Firebase
Среди спикеров такие громкие имена как Денис Неклюдов, Степан Гончаров, Константин Цховребов и множество других спикеров
Для всех подписчиков канала можно купить билет со скидкой по промокоду AndroidBC2020pc
Mobius 2021 Piter. Конференция по мобильной разработке. 13-16 апреля, онлайн.
Конференция по мобильной разработке. 13-16 апреля, онлайн. 4 дня и несколько десятков технических докладов.
Хотите выиграть билет на Mobius Online? Тогда проходите опрос о канале Android Broadcast и получите такую возможность!
Этот опрос очень важен, чтобы понять куда развивать контент Telegram канала, подкастов и YouTube канала. Очень прошу уделить вас 5 минут для этого
Итоги опроса подведу публично и сделаю пост о результатах
Этот опрос очень важен, чтобы понять куда развивать контент Telegram канала, подкастов и YouTube канала. Очень прошу уделить вас 5 минут для этого
Итоги опроса подведу публично и сделаю пост о результатах
#Android11
Android 11 Toast Updates
Toast - довольно простая и удобная штука в Android SDK, когда вам надо показать какое-либо всплывающее сообщение. Помимо простого текста он имеет множество возможностей по кастомизации: задание собственной View, задание расположения в окне и другие.
В Android 11 работа с ним становится строже, Что именно меняется:
👉 Появляется Callback для отслеживания показа/скрытия Toast
👉 Запрещен показ кастомизированного Toast при работе приложения в фоне. Вместо этого показывается Toast с предупреждением.
👉 Кастомизировать "текстовый Toast" нельзя (например задать gravity)
👉 Toast.setView() теперь deprecated. Рекомендуется использовать "текстовый Toast" или Snackbar
Я считаю это хорошим ходом, чтобы ограничивать всякий UI бред и стандартизировать подход. Очень жду запрета кастомизации системных уведомлений
Android 11 Toast Updates
Toast - довольно простая и удобная штука в Android SDK, когда вам надо показать какое-либо всплывающее сообщение. Помимо простого текста он имеет множество возможностей по кастомизации: задание собственной View, задание расположения в окне и другие.
В Android 11 работа с ним становится строже, Что именно меняется:
👉 Появляется Callback для отслеживания показа/скрытия Toast
👉 Запрещен показ кастомизированного Toast при работе приложения в фоне. Вместо этого показывается Toast с предупреждением.
👉 Кастомизировать "текстовый Toast" нельзя (например задать gravity)
👉 Toast.setView() теперь deprecated. Рекомендуется использовать "текстовый Toast" или Snackbar
Я считаю это хорошим ходом, чтобы ограничивать всякий UI бред и стандартизировать подход. Очень жду запрета кастомизации системных уведомлений
Medium
Android 11 Toast Updates
What has been updated in Android 11 about Toast? Customisation on Toast is restricted and customised Toast cannot be shown at the…
Всем привет! Всю эту неделю (4-10 мая) автор канала, Кирилл Розов, будет вести Twitter "Мобильный разработчик". Подписывайтесь, будет интересно и возможность задавать вопросы и получить ответы.