Size: a a a

Android Live 🤖

2020 May 13
Android Live 🤖
​​Android View Binding c Kotlin
#разработка #статьи

Судя по этому посту, работа с View Binding находится на третьем месте после kotlinx.synthetic и findViewById(). Если вы активно работаете с View Binding, то следующая статья сделает этот процесс удобнее.

В стандартной реализации View Binding можно столкнуться со следующими проблемами:
• лишний код;
• дублирование кода в разных Fragment;
• viewBinding получается nullable и модифицируемым.

Для того, чтобы убрать эти ограничения, автор статьи использовал Kotlin Delegated Property, при помощи которого появилась обертка над viewBinding и его автоматическая очистка в зависимости от жизненного цикла. Получилось весьма неплохо, это убрало весь лишний код с фрагментов.

Ссылка на исходный код делегата тут.
источник
2020 May 16
Android Live 🤖
​​Flow в ConstraintLayout
#разработка #статьи

Думаю, что для многих ConstraintLayout является одним из самых распространённых layout при разработке. И не зря, ведь его функциональность обширна. Сегодня расскажу об одной нераспространённой, но полезной фиче в ConstraintLayout.

По сути, Flow — это некий виртуальный layout, дающий большую функциональность родительскому ConstraintLayout. Например, если вы хотите отобразить сетку из 3 строк, то без Flow вам понадобилось бы использовать 3 chain. С ним же вы просто перечисляете элементы и выставляете WrapMode.Chain.

Есть и дополнительная функциональность: расстояние между элементами, стили, выравнивание. Почитать подробнее можно тут.
источник
2020 May 18
Android Live 🤖
Ребята, сегодня последний день, когда можно задать ваши вопросы про GDE. Подробности тут.
Telegram
Android Live 🤖
​​Не часто на канале появляется рубрика «Интервью с разработчиком». Сегодня именно тот день, когда копилка интервью пополнится.

Думаю, что многие из вас слышали про программу GDE (Google Developer Experts) – это технические эксперты и лидеры, которые являются профессионалами в своей области и зачастую выступают в качестве спикеров на различных мероприятиях, являются авторами статей и других активностей.

В России не так много GDE: если зайти на сайт, то можно увидеть 10 экспертов из России по различным направлениям, от Firebase до Payments.

Совсем недавно к списку GDE присоединились Евгений Мацюк и Александр Денисов.
Евгений стал экспертом по Android, а Александр по Flutter.

Соответственно, у них есть наиболее свежая и полная информация о всем, что связано с GDE. У каждого из вас есть возможность спросить их об этом. Возможно, вам интересно, какие преимущества получают GDE или вы сами думаете о том, чтобы стать экспертом.

Свои вопросы вы можете задать тут, а интервью появится на канале позже!
источник
2020 May 20
Android Live 🤖
​​Coil, Kotlin First Image Loader
#статьи #разработка #опрос

Coil — это новая библиотека для загрузки изображений, которая написана на Kotlin и использует его возможности, такие как работа с coroutines и extension-функции. Кроме этого, она добавляет сравнительно немного функций в проект: около 1500, при том что Glide добавляет более 2500. Плюсом она совместима с R8, поэтому не нужно добавлять никаких новых правил.

Её использование выглядит действительно неплохо. Для базовой загрузки изображений есть функция:
imageView.load("https://www.example.com/image.jpg").

Подробнее о функциональности библиотеки можно почитать тут.

А что вы используете для загрузки изображений?
источник
2020 May 23
Android Live 🤖
​​Как происходит рендеринг экрана сообщений ВКонтакте
#статьи #разработка

Показ сложных списков внутри RecyclerView — довольно нетривиальная задача. Стандартный DiffUtil может не спасти и лаги все равно будут оставлять осадок при использовании приложения. Как же сделать максимально быстрый RecyclerView?

Разработчик из VK делится своим опытом создания чата в мобильном приложении VK. Такая лента включает в себя огромное количество типов сообщений, индикаторов загрузки, вложений. Статья подойдет всем разработчикам, которые хотят улучшить производительность списков в своих проектах.
источник
Android Live 🤖
Podlodka Teamlead Crew
#конференции

Уже через неделю (1 июня) можно будет присоединиться к двухнедельному интенсиву для тимлидов от команды Podlodka.

Вот как это будет:
• zoom-сессии с экспертами и СТО, готовыми делиться своим опытом;
• сообщество интересующихся людей в slack, где всегда можно получить рекомендации по решению проблемы любого уровня;
• фокус на теме недели и ежедневные доклады с домашними заданиями.

Мероприятие будет полезно не только действующим тимлидам, но и разработчикам, которые думают о том, как стать тимлидом в будущем.
Цена билета — 3900 рублей, что в разы дешевле среднестатистической конференции для разработчиков.

Но у подписчиков Android Live, есть шанс получить билет бесплатно. Тем более, что для этого нужно просто оставить свой никнейм в Telegram в этой форме. Победитель будет выбран рандомно, в четверг – 28 мая, в 18:00.

Торопитесь прокачать свои навыки! 🤓Ссылка на детальное описание тут.
источник
2020 May 25
Android Live 🤖
С днём рождения, шикарнейший язык программирования!
источник
Android Live 🤖
​​Java 25 лет!

Java, выпущенная в 1995 году под руководством Джеймса Гослинга, используется на 3 миллиардах устройств по всей планете, от мобильного телефона и PC, до холодильника и компьютера в автомобиле.

Более 10 миллионов разработчиков пишут на Java и других мощных языках, которые используют JVM: Kotlin, Scala, Groovy, Jython, JRuby, Clojure.

Поздравляю всех причастных: разработчиков, тестировщиков, менеджеров, аналитиков! Java — это сила!

Мы не знаем точно, что будет дальше в мире технологий, но Java явно войдет в историю. Быть причастным к этому и кодить на одном языке с массой крутых разработчиков очень приятно! С 25-летием, родная

@java_developer
источник
2020 May 26
Android Live 🤖
​​Kotlin Serialization Library
#разработка #статьи #опрос

В мире Android разработки существует пара распространённых библиотек для парсинга и сериализации данных — Moshi и Gson. Но не так давно появилось решение от Kotlin. Для чего же оно нужно?

Во-первых, описанные библиотеки используют рефлексию для своей работы. Kotlin не ограничен миром Android-разработки. Он также может использоваться для JS и iOS разработки, где есть проблемы с рефлексией.

Во-вторых, такие решения являются не встроенными в язык. Вам нужно добавить зависимость, что увеличит количество методов в итоговом dex-файле. А если есть решение, которое справляется со всеми проблемами, но при этом встроено в язык, то зачем тянуть лишнее?

В-третьих, это поддержка значений по умолчанию, встроенных в Kotlin.

Сейчас Kotlin Serialization Library поддерживается Retrofit, который является самым распространённым кейсом использования сериализации. О том, как использовать эту библиотеку, можно прочитать тут.

А что вы используете для сериализации данных?
источник
2020 May 28
Android Live 🤖
​​Анатомия RecyclerView
#разработка #статьи

RecyclerView используется почти в каждом современном приложении. Соответственно, если он работает с тормозами, то это влияет на опыт использования приложений миллионами пользователей. Поэтому, особенно важно, чтобы этот компонент работал максимально быстро.

Есть довольно много статей, где рассказывается о советах, которые могут помочь в улучшении работы RecyclerView. Но не так много тех, где рассказывается о его внутреннем устройстве. Вот именно такая статья.

Автор рассказывает о следующих вещах:
• из каких компонентов состоит RecycledViewPool, как туда попадают ViewHolder;
• pre-layout и post-layout стадии работы RecyclerView;
• для чего нужны функции setIsRecyclable() и setHasTransientState();
• надо ли игнорировать вызов метода onFailedToRecycleView();
• как работает view cache.
источник
Android Live 🤖
​​Напоминаю, что сегодня до 18:00 есть возможность поучаствовать в конкурсе и выиграть билет на Podlodka Teamlead Crew. Подробности можно узнать в этом посте.
источник
2020 May 29
Android Live 🤖
​​Презентация Android 11
#конференции

Уже совсем скоро в мире Android произойдет важное событие — презентация новой версии Android 11. Обычно эта презентация происходит в рамках Google I/O, но в этом году она будет проходить целиком онлайн, 3 июня в 18:00 по Москве.

Там будет представлено множество новых изменений, которые мы, как разработчики, обязаны будем учитывать при создании приложений. Подробнее про новые фишки можно почитать тут.

Кроме того, есть возможность посмотреть трансляцию вместе с русскоязычными экспертами в Android и обсудить те фишки, которые там появились. В этот раз таких трансляций целых две:

1) Просмотр от Android Broadcast, совместно с Android Dev Podcast.
Эксперты: Кирилл Розов , Александр Блинов, Михаил Емельянов, Сергей Боиштян, Вадим Котов, Антон Дудаков

Анонс Android 11 Beta - Смотрим вместе

2) Просмотр от GDG Russia совместно с Google.
Эксперты: Звиад Кардава, Денис Неклюдов, Александр Ефременков, Катя Петрова

Android 11 Beta Launch Show с комментариями экспертов

Также совсем скоро будут локальные мероприятия от GDG, где мы подробнее рассмотрим, как все эти фишки применить. Обязательно следите за анонсами! 🤓
источник
Android Live 🤖
​​Результаты конкурса Podlodka Teamlead Crew
#конкурс

Итак, наконец пришло время опубликовать результаты конкурса, описанного тут.

В конкурсе приняло участие 40 человек, при помощи генератора случайных чисел был выбран победитель — @i30mb1, с чем я его и поздравляю 😎.

Мероприятие стартует 1 июня. Кстати, уже известно полное расписание и список экспертов. Ещё есть шанс присоединиться и получить огромный пласт новых знаний. Ссылка с подробностями здесь.

Видео с выбором победителя тут. До новых конкурсов!
источник
2020 June 01
Android Live 🤖
Презентация Android 11 отменилась
#конференции

На прошедней неделе мы получили не самое приятное зявление. 😕 Презентация Android 11 перенесена на неопределенный срок. Будем ждать будущих анонсов. Мероприятия, связанные с презентацией, также отменены.
источник
2020 June 02
Android Live 🤖
​​Чат в приложении
#разработка #вопрос #комментарии

Чат на первый взгляд кажется довольно распространённой, но от этого не менее сложной фичей. Ведь его поддержка вкллючает в себя и поведение при переходе в оффлайн режим, и сохранение сообщений, и их динамическую подгрузку. Так один экран может добавить довольно много работы разработчику.

У меня есть к вам всем вопрос. В текущем проекте есть такая задача — это создание внутреннего чата приложения. Чтобы не создавать всю инфраструктуру с нуля, было принято решение поискать готовые решения. Требования к чату следующие:
• обмен личными сообщениями между пользователями;
• возможность развернуть чат на своём сервере;
• не обязательна, но желательна поддержка чатов;
• наличие SDK под Android или примера приложения;
• open source или единовременная плата за проект.

Сейчас выбор пал на проект Matrix, который удовлетворяет требованиям и имеет рабочие приложения на своей базе. Правда, текущий SDK написан на Java и тянет за собой довольно много библиотек. Возможно, есть другие крутые продукты, которые не получилось найти.

Вопрос к вам, уважаемые подписчики: какие крутые решения для добавления чата в приложение вы знаете? Поделитесь в комментариях.
источник
2020 June 05
Android Live 🤖
​​Avokado Project
#разработка

Ребята из Лаборатории Касперского и Avito решили сделать новый проект для разработчиков, целью которой делиться знаниями, опытом и инструментами. Здорово, что такие большие компании делятся своими наработками с сообществом.

Уже писал вам о фреимворке для написания тестов Kaspresso, который значительно упрощает этот нелегкий процесс. Помимо этого, есть Avito Android Infrastructure, где есть набор всех инструментов для непрерывного тестирования и доставки приложений пользователям.

Дальнейшие шаги для развития — это продолжение работы в автотестировании, а цель — это сделать продукт, который позволит за условные 15 минут развернуть среду для автотестов на любом проекте.

Каждый может присоединиться к проекту. Можно просто следить за обновлениями на сайте, можно присоединиться к чату и накинуть своих идей или проголосовать за уже существующие.
источник
2020 June 08
Android Live 🤖
​​Layout Inspector
#разработка

Совсем недавно Android Studio 4.0 перешла из стадии beta в стадию stable и принесла нам Layout Inspector. У него есть 3 части:
• Component Tree — покажет вам дерево view, в реальном времени. Подходит для того, чтобы посмотреть, из каких элементов состоит экран в текущий момент времени.
• Inspector — по сути визуальный canvas текущего экрана, отображаемого на эмуляторе или устройстве. Главная фишка — визуализация является интерактивной, поэтому мы можем покликать наши компоненты и проверить различные атрибуты.
• Attributes — позволяет получить подробную информацию о каждом из объектов на экране. Полезно, если мы хотим проверить реальные размеры View на экране или посмотреть, какие у неё отступы относительно других компонентов.

Больше информации об этой крутой фиче можно найти тут.
источник
2020 June 09
Android Live 🤖
​​Создание приложения Scrum Poker с использованием MotionLayout
#разработка #статьи

Уже не раз писал на канале посты, связанные с MotionLayout и приводил примеры приложений, которые используют этот инструмент.

На этот раз попалась статья, где автор поставил цель написать небольшое приложение для scrum poker, используя минимальное количество строк кода. MotionLayout вот-вот перейдет в релизную стадию, поэтому самое время изучать его основные фишки.

Прочитать статью можно тут. У автора получилась интересная статистика по количеству написанного кода: 81 строчка Kotlin-кода и 230 строк xml-кода. Как по мне, отличные показатели для такого приложения.
источник
2020 June 10
Android Live 🤖
Интервью с разработчиком: как стать GDE
#интервью

Наше интервью с Евгением Мацюком и Александром Денисовым опубликовано. Огромное спасибо всем, кто задавал свои вопросы и уверен, что теперь у всех нас есть чуть больше информации о том, как стать GDE.

Ссылка на статью тут, обязательно поддержите её своими лайками и комментариями на Medium😉.
источник
2020 June 11
Android Live 🤖
​​Релиз Android 11
#разработка #статьи #комментарии

Вчера вечером, Google сделал обновление Android 11 и выкатил огромное количество обновлений для разработчиков. Среди них:

• Hilt (переводится как «рукоятка» 😄) — рекомендованная библиотека для DI от Google. Она создана на основе Dagger и разработчики обещают лучшую скорость сборки билда и масштабируемость. Здорово, что она полностью интегрирована с существующим Jetpack, появились такие аннотации как @ViewModelInject и @AndroidEntryPoint. Пока библиотека сырая, но можно почитать подробнее тут.

• Paging 3 — обновили библиотеку для постепенной загрузки данных, переписав её на coroutines. Подробнее в документации, версия пока тоже в alpha.

• App Startup — библиотека для инициализации компонентов на старте приложения. Выглядит круто, обещают улучшенную производительность и уменьшенное время старта. Обязательно возьму себе на заметку. Подробности тут.

• Auto-fill IME integrations — API для ввода подсказок при вводе с клавиатуры. В примере показано, как пользователь переходит в поле ввода данных карты, а система предлагает ему на выбор одну из его сохранённых. Как по мне, крутая штука, которая улучшит взаимодействие пользователя с приложением.

• улучшили работу с анимациями, добавив SeekableAnimatedVectorDrawable. Класс расширяет сущесвующие AnimatedVectorDrawable, добавив возможность прокручивать, ставить на паузу и возобновлять анимацию. Кроме этого, Motion Editor уже в 4 версии Android Studio, самое время добавлять анимации в приложение.

• обновления существующих библиотек, таких как Navigation, Workmanager, Permissions. Обновления здоровские, значительно облегчат жизнь нам, разработчикам.

Подробнее о всех обновлениях можно прочитать в этой статье. А также можно посмотреть видео про все эти новинки.

Как вам обновления? Что ждали больше всего? Давайте обсудим в комментариях
источник