Android Dev Hub
2.85K subscribers
6 photos
2 videos
10 links
Разработка под Android: Kotlin, Java.
Download Telegram
Channel created
Хроника изменений API фоновой работы в Android

Привет! Меня зовут Алексей, я работаю Android-разработчиком в Облаке Mail. Наше приложение выполняет важную задачу — хранит воспоминания пользователей. Для этого необходимо уметь правильно работать с файлами в фоне, чтобы не только надёжно хранить те самые воспоминания, но и быстро их загружать, редактировать и делиться. В этой статье я расскажу о том, как мы пришли к нашим современным методам фоновой работы в Android.

https://habr.com/ru/companies/vk/articles/916466/

👉@androidspb
👍1
Подборка книг по Java


Основы Java:

1. "Head First Java" от Кэти Сьерра и Берт Бейтс
Эта книга предлагает уникальный подход к обучению с использованием визуальных элементов и интерактивных упражнений. Она идеально подходит для тех, кто только начинает изучать Java и хочет получить прочные основы. Книга написана в легком и доступном стиле, что делает процесс обучения увлекательным и эффективным.

2. "Java: A Beginner's Guide" от Герберта Шилдта
Герберт Шилдт — известный автор учебников по программированию, и его книга "Java: A Beginner's Guide" является отличным ресурсом для начинающих. В этой книге он подробно объясняет основные концепции Java, начиная с самых простых и заканчивая более сложными. Книга написана в доступном стиле и включает множество примеров кода.

3. "Effective Java" от Джошуа Блоха
Хотя эта книга не предназначена исключительно для новичков, она является незаменимым ресурсом для тех, кто хочет писать качественный и эффективный код на Java. Джошуа Блох делится своими рекомендациями и лучшими практиками, которые помогут вам избежать распространенных ошибок и улучшить качество вашего кода.

Продвинутый уровень:

1. "Java Concurrency in Practice" от Брайана Гетца и других авторов
Эта книга является обязательной для тех, кто хочет углубиться в тему многопоточности и конкурентного программирования на Java. Она охватывает все аспекты, начиная от базовых концепций и заканчивая сложными паттернами. Книга написана командой экспертов, что делает её особенно ценной.

2. "Clean Code: A Handbook of Agile Software Craftsmanship" от Роберта Мартина
Хотя эта книга не посвящена исключительно Java, она является важным ресурсом для любого программиста. Роберт Мартин делится своими принципами написания чистого и поддерживаемого кода. Книга написана в доступном стиле и включает множество примеров кода.

3. "Java Performance: The Definitive Guide" от Скотта Оукса
Эта книга поможет вам понять, как оптимизировать производительность ваших Java-приложений. Скотт Оукс объясняет, как измерять и улучшать производительность кода. Книга написана в доступном стиле и включает множество примеров кода.

👉@androidspb
Android Interview Questions

Всеобъемлющая подборка классифицированных вопросов для собеседования по Android, охватывающая ООП, Kotlin, архитектуру, корутины, хранение данных, тестирование, безопасность и многое другое.

https://github.com/DoggyDoggyDoggy/Android-Interview-Questions

👉@androidspb
Media is too big
VIEW IN TELEGRAM
Мок-собеседование. Андрей Сумин vs Руслан Хафизов

🔥 Собеседование проводит заслуженный в наших кругах автор андроид курсов - Андрей Сумин.
За годы создания контента в виде обучающих материалов у Андрея явно есть что спросить. Будет интересно)

источник

👉@androidspb
👍1
Media is too big
VIEW IN TELEGRAM
Kotlin 2.2 - Запись лайвстрим с командой Language Evolution Team

С выходом Kotlin 2.2 команда JetBrains продолжает развивать язык, делая его ещё мощнее и удобнее. В этом эфире разобрали новые возможности Kotlin 2.2.

Стабильные функции: break и continue вне локального контекста, guard-выражения и множественная интерполяция с несколькими $ теперь стали частью стабильного языка.
Контекстные параметры позволяют лучше управлять зависимостями и сервисами, уменьшая шаблонный код.
Вложенные typealias делают язык более единообразным — больше не нужно объявлять псевдонимы типов только на верхнем уровне.
Аннотации у свойств теперь имеют более разумные значения по умолчанию, а новый таргет all позволяет распространять аннотацию сразу на getter, setter и поле хранения.
Inline value-классы ранее были фичей, понятной только Kotlin, но теперь появился способ генерировать их так, чтобы они были дружелюбны к Java.
Контекстно-зависимое разрешение уменьшает количество необходимых квалификаторов, используя окружающую типовую информацию для поиска.

Неважно, вы опытный разработчик на Kotlin или только начинаете — это отличный шанс познакомиться с последними улучшениями языка.

источник

👉@androidspb
👍1
Basic Guide to Animation in Jetpack Compose

Animations in Jetpack Compose bring life to your UI, making interactions feel natural and engaging. Whether it’s fading elements in/out, moving objects, scaling components, or applying physics-based motion, Jetpack Compose provides powerful tools to achieve smooth animations effortlessly. This guide covers everything you need to know about the basics of animations in Jetpack Compose.

https://nameisjayant.iss.onedium.com/basic-guide-to-animation-in-jetpack-compose-acd11659fdf1

👉@androidspb
👍1
Как в Duolingo повысили производительность Android-приложения

Наша миссия в Duolingo — создать лучшее образование в мире и сделать его доступным каждому. Однако наши метрики показали, что миллионы учащихся, особенно использующие недорогие устройства на развивающихся рынках, перестают пользоваться приложением из-за раздражающего времени загрузки: в начале 2024 года целых 39% пользователей на бюджетных Android-устройствах ждали запуска приложения более 5 секунд. Это напрямую подрывало нашу миссию универсальной доступности.

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

https://blog.duolingo.com/android-app-performance/

👉@androidspb
👍1
Вложенная прокрутка в Jetpack Compose

Вложенная прокрутка в Jetpack Compose позволяет согласовывать движение между родительскими и дочерними компонентами, передавая неиспользованные значения прокрутки по иерархии.

По умолчанию API scrollable и Lazy в Compose автоматически обрабатывают вложенную прокрутку, передавая оставшееся движение родительским элементам, когда дочерний достигает предела. Для реализации пользовательских сценариев — таких как сворачивающиеся панели инструментов или синхронизированные панели — Compose предоставляет NestedScrollConnection и NestedScrollDispatcher, которые позволяют перехватывать и отправлять события прокрутки до и после их обработки дочерним элементом.

https://victorbrandalise.com/nested-scrolling-in-jetpack-compose/

👉@androidspb
👍2
LazyTimetable - высокопроизводительная таблица для расписания с отложенной загрузкой для Jetpack Compose для Android. Идеально подходит для создания расписаний фестивалей, конференций и любых многоколоночных макетов с временными рамками.

Фичи:

- Высокая производительность: ленивая загрузка с ограничением для области просмотра для плавной прокрутки даже при больших наборах данны
- Позиционирование по времени: элементы позиционируются на основе длительности в секундах с автоматическим расчётом макета
- Двунаправленная прокрутка: плавная горизонтальная и вертикальная прокрутка
- Широкие возможности настройки: настройка цветов, интервалов и внешнего вида контента
- Типобезопасный DSL: чистый, декларативный API для определения структуры расписания

https://github.com/MoyuruAizawa/LazyTimetable

👉@androidspb
👍2
Основы AGSL для android разработчика

В последние годы интерфейсы приложений становятся все более интерактивными. Простого эффекта нажатия на кнопку уже недостаточно - пользователи ждут живых анимаций и визуальной глубины. Но создание таких эффектов традиционно требовало от разработчиков значительных усилий.

Представь: тебе нужно «поколдовать» над пикселями прямо в UI - добавить живой градиент, искажение картинки под пальцем, стеклянный блеск карточке и тому подобные эффекты. Раньше для этого приходилось прибегать к «тяжеловесам» таким как OpenGL/Vulkan, либо мучить CPU постобработкой битмапов. AGSL (Android Graphics Shading Language) решает это элегантнее: это язык фрагментных шейдеров, встроенный в сам графический стек Android, так что эффекты применяются прямо на уровне отрисовки интерфейса.

https://habr.com/ru/articles/971992/

👉@androidspb
👍1
Пишем простенький DI для Android приложения

Сейчас практически любой проект имеет в своём составе как минимум одну библиотеку или решение для разруливания зависимостей, но далеко не каждый разработчик действительно понимает как устроены эти самые решения. Поэтому в этой статье я хотел бы прояснить некоторые базовые моменты, на которых построены такие известные библиотеки как Dagger, Hilt и Koin, а также показать на практическом примере как можно написать свое DI решение.

https://habr.com/ru/articles/843258/

👉@androidspb
👍1