Android: пошаговый курс для начинающих
1. Android Studio – установка, настройка эмулятора
2. Введение в XML, что такое View, теги и атрибут
3. Контейнеры - FrameLayout, LinarLayout. Отступы.
4. Верстаем экран по макету из Figma, ShapeDrawable
5. Ресурсы (res), квалификаторы, локализация, шрифты
6. Cтили, темы в приложении и их кастомизация
7. findViewById, ViewBinding, backing property
#video #android
https://www.youtube.com/watch?v=DzqfBxlvANQ&list=PLgPRahgE-GctUcLMcQFvl00xsXqpNJOix
@android_its
1. Android Studio – установка, настройка эмулятора
2. Введение в XML, что такое View, теги и атрибут
3. Контейнеры - FrameLayout, LinarLayout. Отступы.
4. Верстаем экран по макету из Figma, ShapeDrawable
5. Ресурсы (res), квалификаторы, локализация, шрифты
6. Cтили, темы в приложении и их кастомизация
7. findViewById, ViewBinding, backing property
#video #android
https://www.youtube.com/watch?v=DzqfBxlvANQ&list=PLgPRahgE-GctUcLMcQFvl00xsXqpNJOix
@android_its
👍11❤2🔥2
Школа мобильной разработки: Android
1. My first app: вводная про платформу
2. Kotlin
3. Базовые компоненты
4. Views & Layout
5. RecyclerView
6. Background Часть 1
7. Background Часть 2
8. Network
9. Storage
10. DI
#video #android
https://www.youtube.com/watch?v=Xfaqnj1egFI&list=PLQC2_0cDcSKAVl_3u-3ZrEW2UFBUjDD97
1. My first app: вводная про платформу
2. Kotlin
3. Базовые компоненты
4. Views & Layout
5. RecyclerView
6. Background Часть 1
7. Background Часть 2
8. Network
9. Storage
10. DI
#video #android
https://www.youtube.com/watch?v=Xfaqnj1egFI&list=PLQC2_0cDcSKAVl_3u-3ZrEW2UFBUjDD97
❤4
Вот как легко можно записывать и воспроизводить аудио в Android
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
GitHub
GitHub - philipplackner/AudioRecorder
Contribute to philipplackner/AudioRecorder development by creating an account on GitHub.
👍7❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по анимации
Рассматриваем доступные нам AnimationSpec: tween, spring, keyframes, repeatable. Там в целом и так все понятно, но пропустить эту тему я не мог.
Плюс, довольно подробно разбираем, что такое Easing в tween. И создаем свою несложную реализацию этого механизма.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Рассматриваем доступные нам AnimationSpec: tween, spring, keyframes, repeatable. Там в целом и так все понятно, но пропустить эту тему я не мог.
Плюс, довольно подробно разбираем, что такое Easing в tween. И создаем свою несложную реализацию этого механизма.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍9🔥2❤1
Old but gold: Android-разработка для новичков
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
👍4❤2🔥1
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - philipplackner/AudioRecorder
Contribute to philipplackner/AudioRecorder development by creating an account on GitHub.
👍4❤1
📸 Blackmagic's Camera App теперь доступно на большем количестве Android-устройств!
Blackmagic расширила поддержку своей камеры на большее количество Android-смартфонов, что приносит профессиональные возможности видеосъемки в мобильные устройства. 🌟 Теперь пользователи Android могут наслаждаться качеством и функциями, ранее доступными только на специализированных камерах.
🎥 Новые функции включают:
- Профессиональные инструменты для цветокоррекции
- Расширенные настройки камеры
- Поддержка записи в высоком разрешении
Эти обновления делают съемку видео на смартфон еще более захватывающей и профессиональной! 📱✨
📌Публикация
#android #camera #googleapp
@android_its
Blackmagic расширила поддержку своей камеры на большее количество Android-смартфонов, что приносит профессиональные возможности видеосъемки в мобильные устройства. 🌟 Теперь пользователи Android могут наслаждаться качеством и функциями, ранее доступными только на специализированных камерах.
🎥 Новые функции включают:
- Профессиональные инструменты для цветокоррекции
- Расширенные настройки камеры
- Поддержка записи в высоком разрешении
Эти обновления делают съемку видео на смартфон еще более захватывающей и профессиональной! 📱✨
📌Публикация
#android #camera #googleapp
@android_its
👍2❤1🔥1
🏪 Google готовится к масштабной чистке в Play Store, цель которой — улучшить безопасность и качество приложений.
Планируется удаление приложений, не соответствующих новым стандартам качества, включая те, которые имеют минимальную функциональность. Это изменение нацелено на сокращение числа низкокачественных приложений, которые могут служить каналом для распространения вредоносного ПО.
Такие меры, как повышенное внимание к безопасности приложений и более строгие требования к содержанию, показывают, что Google стремится сделать Play Store более похожим на App Store от Apple, где уже давно приняты подобные меры контроля.
Несмотря на эти улучшения, проблемы с синхронизацией версий и обновлениями приложений все еще остаются, что подчеркивает необходимость дальнейших усилий со стороны Google для обеспечения безопасности в Play Store.
📎 Полную новостью можно прочитать здесь
#android #java #kotlin #google #googleplaystore #appsecurity #digitalsafety #TechUpdates
@android_its
Планируется удаление приложений, не соответствующих новым стандартам качества, включая те, которые имеют минимальную функциональность. Это изменение нацелено на сокращение числа низкокачественных приложений, которые могут служить каналом для распространения вредоносного ПО.
Такие меры, как повышенное внимание к безопасности приложений и более строгие требования к содержанию, показывают, что Google стремится сделать Play Store более похожим на App Store от Apple, где уже давно приняты подобные меры контроля.
Несмотря на эти улучшения, проблемы с синхронизацией версий и обновлениями приложений все еще остаются, что подчеркивает необходимость дальнейших усилий со стороны Google для обеспечения безопасности в Play Store.
📎 Полную новостью можно прочитать здесь
#android #java #kotlin #google #googleplaystore #appsecurity #digitalsafety #TechUpdates
@android_its
👍5❤2🔥1😢1
Обновление, которое придется подождать — Google выпустила Android 15
Свежая версия операционной системы пока доступно лишь разработчикам — ее код представлен в формате Android Open Source Project (AOSP).
Обычным пользователям, включая владельцев устройств Pixel, придётся подождать несколько недель до официального обновления. Для пользователей смартфонов других брендов, таких как Samsung, OnePlus и прочих, новые версии появятся не раньше конца года.
#android
Свежая версия операционной системы пока доступно лишь разработчикам — ее код представлен в формате Android Open Source Project (AOSP).
Обычным пользователям, включая владельцев устройств Pixel, придётся подождать несколько недель до официального обновления. Для пользователей смартфонов других брендов, таких как Samsung, OnePlus и прочих, новые версии появятся не раньше конца года.
#android
🔥5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Команда опытных разработчиков собрала пошаговые туториалы, которые помогут довести ваши навыки до совершенства:
- Подробный разбор каждого проекта.
- Создание различных типов меню: списки, скроллы, слайдеры, свайпы и многое другое.
- Руководство по работе с экшен-барами.
- Верстка мобильных галерей.
- Различные настраиваемые элементы интерфейса.
- Интеграция и работа с картами.
📌 Github
@android_its
#android #opensource #projects
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤2
📱 Rust в Android: двигайся быстро и чини, а не ломай
> "Самым большим сюрпризом стал эффект Rust на скорость поставки софта."
> — Google Security Blog
Google поделились цифрами после масштабного внедрения Rust в Android — и это сильнейший аргумент за безопасный и быстрый код:
🚀 Изменения на Rust откатываются в 4 раза реже
🧠 Код на Rust проходит ревью на 25% быстрее
Да, вы не ослышались: Rust — не только безопаснее, но и быстрее в поставке.
Больше нет конфликта между безопасностью и скоростью: Rust даёт и то, и другое.
📖 Читайте подробнее в официальном блоге Google:
🔗 https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html
#Rust #Android #Google #DevTools #Security
> "Самым большим сюрпризом стал эффект Rust на скорость поставки софта."
> — Google Security Blog
Google поделились цифрами после масштабного внедрения Rust в Android — и это сильнейший аргумент за безопасный и быстрый код:
🚀 Изменения на Rust откатываются в 4 раза реже
🧠 Код на Rust проходит ревью на 25% быстрее
Да, вы не ослышались: Rust — не только безопаснее, но и быстрее в поставке.
Больше нет конфликта между безопасностью и скоростью: Rust даёт и то, и другое.
📖 Читайте подробнее в официальном блоге Google:
🔗 https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html
#Rust #Android #Google #DevTools #Security
🤯4🔥3
Media is too big
VIEW IN TELEGRAM
Опасности в Android: уязвимости и защитные меры
Увлекательное путешествие в мир безопасности Android! Разобрали самые интересные и коварные уязвимости, такие как Path Traversal, SQL-инъекции и Tapjacking. Но основное внимание уделили WebView: неправильной валидации данных, уязвимостям в библиотеке для парсинга URL, JavaScript Interface и загрузке диплинков.
Безопасность — это не только важно, но и захватывающе! Она необходима в каждом приложении, чтобы обеспечить уверенность пользователей в безопасности их данных. Не стоит перекладывать эту ответственность на безопасников.
В докладе нет скучных терминов и монотонных объяснений. Вместо этого — захватывающая история поиска уязвимостей и их устранения, основанная на личном опыте при разработке приложений.
Будет полезно всем тем, кто интересуется безопасностью Android-приложений.
источник
#Android
Увлекательное путешествие в мир безопасности Android! Разобрали самые интересные и коварные уязвимости, такие как Path Traversal, SQL-инъекции и Tapjacking. Но основное внимание уделили WebView: неправильной валидации данных, уязвимостям в библиотеке для парсинга URL, JavaScript Interface и загрузке диплинков.
Безопасность — это не только важно, но и захватывающе! Она необходима в каждом приложении, чтобы обеспечить уверенность пользователей в безопасности их данных. Не стоит перекладывать эту ответственность на безопасников.
В докладе нет скучных терминов и монотонных объяснений. Вместо этого — захватывающая история поиска уязвимостей и их устранения, основанная на личном опыте при разработке приложений.
Будет полезно всем тем, кто интересуется безопасностью Android-приложений.
источник
#Android
🔥5❤1
ColorTokensKit — мощная система цветовых маркеров
Собственная цветовая система Swift обеспечивает только базовую функциональность для представления цвета. Собственные цвета ограничены RGB и HSL, которые не обеспечивают единообразия восприятия. Это может привести к непоследовательному цветовому восприятию на разных устройствах и в разных средах. Кроме того, собственные цвета изначально не поддерживают доступные коэффициенты контрастности, темный режим или темы, что затрудняет поддержание целостной системы дизайна. ColorTokensKit устраняет эти ограничения, используя цветовую систему LCH, которая обеспечивает более интуитивный и гибкий подход к управлению цветом.
ColorTokensKit — мощная система цветовых маркеров для платформ Apple. ColorTokensKit расширяет возможности Swift, предлагая эргономичный доступ к цветовой системе LCH (Lightness, Chroma, Hue) и тысячам доступных цветов.
Фичи:
Простой в использовании API цветовых маркеров
Предопределенные цветовые палитры LCH
Встроенная поддержка доступных коэффициентов контрастности
Встроенная поддержка темного режима
Встроенная тематика для всех приложений
Легкое преобразование между пространствами RGB/HSL/LCH/LAB/XYZ
Отсутствие зависимостей
https://github.com/metasidd/ColorTokensKit-Swift
#Android
Собственная цветовая система Swift обеспечивает только базовую функциональность для представления цвета. Собственные цвета ограничены RGB и HSL, которые не обеспечивают единообразия восприятия. Это может привести к непоследовательному цветовому восприятию на разных устройствах и в разных средах. Кроме того, собственные цвета изначально не поддерживают доступные коэффициенты контрастности, темный режим или темы, что затрудняет поддержание целостной системы дизайна. ColorTokensKit устраняет эти ограничения, используя цветовую систему LCH, которая обеспечивает более интуитивный и гибкий подход к управлению цветом.
ColorTokensKit — мощная система цветовых маркеров для платформ Apple. ColorTokensKit расширяет возможности Swift, предлагая эргономичный доступ к цветовой системе LCH (Lightness, Chroma, Hue) и тысячам доступных цветов.
Фичи:
Простой в использовании API цветовых маркеров
Предопределенные цветовые палитры LCH
Встроенная поддержка доступных коэффициентов контрастности
Встроенная поддержка темного режима
Встроенная тематика для всех приложений
Легкое преобразование между пространствами RGB/HSL/LCH/LAB/XYZ
Отсутствие зависимостей
https://github.com/metasidd/ColorTokensKit-Swift
#Android
❤4👍1
Локализация в Jetpack Compose
Локализация относится к изменению текста приложения, форматов валют и других визуальных элементов для соответствия локали пользователя на основе его региональных предпочтений.
С введением языковых предпочтений для каждого приложения (Per-app Language Preference) в Android 13 (API уровня 33) управление языками, специфичными для приложений, стало намного проще.
https://blog.kotlin-academy.com/localization-in-jetpack-compose-71b7f7233243
#Android
Локализация относится к изменению текста приложения, форматов валют и других визуальных элементов для соответствия локали пользователя на основе его региональных предпочтений.
С введением языковых предпочтений для каждого приложения (Per-app Language Preference) в Android 13 (API уровня 33) управление языками, специфичными для приложений, стало намного проще.
https://blog.kotlin-academy.com/localization-in-jetpack-compose-71b7f7233243
#Android
🦀 Google затащили Rust туда, где его реально ждали - прямо в cellular baseband у Pixel 10.
Не в приложение, не в системный сервис и даже не в очередную утилиту, а в прошивку модема. Это уже совсем другой уровень.
Первым шагом заменили DNS-парсер, который раньше был написан на C и регулярно оставался источником memory-safety проблем. Теперь там Rust на базе hickory-proto: bare-metal, no_std, FFI к существующим C-аллокаторам - все по-взрослому.
И самое важное тут даже не сам DNS-парсер. Главное, что Google уже протащили Rust в build system baseband. А значит, это не разовая демонстрация, а начало нормальной поэтапной миграции.
Вот так и выглядит реальное внедрение Rust в критическую инфраструктуру: без громких лозунгов, но с максимальной пользой. Сначала один опасный компонент, потом еще один, а дальше язык постепенно заходит в самые уязвимые части системы.
Для всей индустрии это очень показательный кейс. Rust все чаще идет не в новые игрушечные проекты, а в старые и сложные куски железа, где цена ошибки слишком высокая.
security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html
#Rust #RustLang #MemorySafety #EmbeddedSystems #Android
Не в приложение, не в системный сервис и даже не в очередную утилиту, а в прошивку модема. Это уже совсем другой уровень.
Первым шагом заменили DNS-парсер, который раньше был написан на C и регулярно оставался источником memory-safety проблем. Теперь там Rust на базе hickory-proto: bare-metal, no_std, FFI к существующим C-аллокаторам - все по-взрослому.
И самое важное тут даже не сам DNS-парсер. Главное, что Google уже протащили Rust в build system baseband. А значит, это не разовая демонстрация, а начало нормальной поэтапной миграции.
Вот так и выглядит реальное внедрение Rust в критическую инфраструктуру: без громких лозунгов, но с максимальной пользой. Сначала один опасный компонент, потом еще один, а дальше язык постепенно заходит в самые уязвимые части системы.
Для всей индустрии это очень показательный кейс. Rust все чаще идет не в новые игрушечные проекты, а в старые и сложные куски железа, где цена ошибки слишком высокая.
security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html
#Rust #RustLang #MemorySafety #EmbeddedSystems #Android
❤5👍2🔥2
💡 Android/Kotlin: не перезапускайте `Flow` после каждого поворота экрана
Частая ошибка в
У
Это может повторно инициировать запросы, чтение базы или тяжёлые вычисления.
Добавьте небольшой период ожидания:
Теперь поток продолжит работать ещё пять секунд после исчезновения последнего подписчика. Этого обычно достаточно, чтобы новая
В Compose собирайте состояние с учётом жизненного цикла:
Получается полезный баланс:
- поворот экрана не перезапускает весь pipeline;
- при реальном уходе со страницы поток остановится;
-
#Android #Kotlin #StateFlow #JetpackCompose
Частая ошибка в
ViewModel:
val uiState = repository.observeData()
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(),
initialValue = UiState.Loading
)
У
WhileSubscribed() тайм-аут по умолчанию равен нулю. Когда Activity пересоздаётся при повороте экрана, подписчик исчезает, upstream-поток сразу останавливается, а затем запускается заново.Это может повторно инициировать запросы, чтение базы или тяжёлые вычисления.
Добавьте небольшой период ожидания:
val uiState = repository.observeData()
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(5_000),
initialValue = UiState.Loading
)
Теперь поток продолжит работать ещё пять секунд после исчезновения последнего подписчика. Этого обычно достаточно, чтобы новая
Activity успела подключиться после изменения конфигурации.В Compose собирайте состояние с учётом жизненного цикла:
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
Получается полезный баланс:
- поворот экрана не перезапускает весь pipeline;
- при реальном уходе со страницы поток остановится;
-
ViewModel не тратит ресурсы без активного интерфейса.5_000 - не магическое значение. Для дорогого подключения его можно увеличить, а для быстрого локального потока - уменьшить.#Android #Kotlin #StateFlow #JetpackCompose
❤2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Sonner
Это компонент toast-уведомлений для Compose Multiplatform, основанный на Sonner! Он поддерживает различные типы уведомлений, анимации, кастомизацию и не зависит от Material Design.
Особенности:
Практически такое же, как реализация emilkowalski на React: интерфейс, анимации и даже API. К ним относятся:
* Сложенные тосты и расширяемые тосты
* Различные типы и насыщенные цвета
* Переходы (анимации)
* Позиции (выравнивание)
* Смахивание вниз для закрытия
* Кнопка закрытия и кнопка действия
* Пользовательские иконки
* Длительность отображения
* Ленивая загрузка и высокая производительность: вы можете отображать множество тостов одновременно
* Полная настраиваемость: вы можете отображать собственный Composable
* Поддержка как Material 2, так и Material 3 за счет отсутствия зависимости от них
https://github.com/dokar3/compose-sonner
#Android
Это компонент toast-уведомлений для Compose Multiplatform, основанный на Sonner! Он поддерживает различные типы уведомлений, анимации, кастомизацию и не зависит от Material Design.
Особенности:
Практически такое же, как реализация emilkowalski на React: интерфейс, анимации и даже API. К ним относятся:
* Сложенные тосты и расширяемые тосты
* Различные типы и насыщенные цвета
* Переходы (анимации)
* Позиции (выравнивание)
* Смахивание вниз для закрытия
* Кнопка закрытия и кнопка действия
* Пользовательские иконки
* Длительность отображения
* Ленивая загрузка и высокая производительность: вы можете отображать множество тостов одновременно
* Полная настраиваемость: вы можете отображать собственный Composable
* Поддержка как Material 2, так и Material 3 за счет отсутствия зависимости от них
https://github.com/dokar3/compose-sonner
#Android
🔥1