Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
FFShare - Android-приложение с открытым исходны кодом для сжатия картинок, видео и аудио файлов с помощью ffmpeg

#android #пример #opensource #fdroid
👍22
Streamflix - приложение-кинотеатр с открытым исходным кодов для Android смартфонов, планшетов и Android TV для просмотра фильмов и ТВ шоу. Для видео используется ExoPlayer из Jetpack Media 3

#android #пример #opensource #androidtv #медиа
🔥23👍32
🐱 Buckwheat (на русском звучит "Гречка") - это приложение с открытым исходным кодом, которое помогает вам тратить деньги разумно. Запись каждой статьи расходов приводит вас в чувства и дает представление о том, сколько и как вы можете потратить.

Стек технологий: Jetpack Compose, KotlinX Coroutines, Room, Dagger + Hilt, Coil

🛒 Вы можете установить приложение из Google Play

#android #opensource #пример #fdroid #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍395🤯2
‼️ Защита от атак на приложения через изменение AndroidManifest

При сборке APK финальный AndroidManifest формируется из нескольких источников:
👉 AndroidManifest всех модулей в коде вашего приложения
👉 AndroidManifest из подключённых AAR-зависимостей
👉 Изменения через Android Gradle Plugin (например, подстановка параметров и указание namespace)
👉 Сторонние Gradle-плагины, модифицирующие манифест через AGP

В результате итоговый AndroidManifest представляет собой комбинацию множества частей. Подробнее о процессе его объединения я рассказывал в этом 📹 видео.

🔒 Как защититься от скрытых изменений манифеста?

Рекомендую автоматизировать проверку с помощью Gradle-плагина manifest-guard.

Плагин позволяет сохранить эталонный AndroidManifest и автоматически проверять его при сборке проекта.
Можно настроить запуск проверки на CI: если манифест изменился, сборка упадёт, а вы получите HTML-отчёт с разницей между эталоном и текущей версией.

#android #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🤯8
LinkedIn и JetBrains запартнёрились и теперь и запустили сертификацию по java.

Курс "Java Foundations Professional Certificate by JetBrains" направлен на начинающих и включается 5 глав: синтаксис, ООП, объекты и APIs, структуры данных и JDBC, после чего можно получить сертификат.

Жду программы по Kotlin

#jetbrains #linkedin #сертификация
50🔥14👍12
📹 В Jetpack Room есть возможность использовать не встроенный в Android ОС SQLite, а вместо этого использовать самую свежую версию (вес около 1 МБ для каждого ABI).

Это позволит использовать единую версию SQLite на всех устройствах и получать преимущества в скорости работы от новых функций. Причем эта возможность доступна для всех поддерживаемых платформ, которые поддерживает Room: Android, iOS, Desktop.

📹 Доклад с Droidcon от гуглера о том, как это сделать (EN, 15м)
🔗 Подробности в документации

#android #sqlite #room #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🔥11🤯3
Media is too big
VIEW IN TELEGRAM
В Android Studio Meerkat 2024.3.1 появится возможность создавать KMP Shared модуль для Android и iOS

#androidstudio #kmp #android #ios
🔥78👍13🤯5
Выполнение запросов SQLite на множестве потоков может привести к замедлению вашего приложения 🤯

Разработчик делает классный разбор того, как работают запросы SQLite в Android и как их оптимизировать. Статья - параллельность в Android SQLite (EN,11м)

Основные выводы:
👉 Используйте забандленную версию SQLite (добавит около 1 Мб за каждый ABI)
👉 Если работает с несколькими БД через ROOM, то задавайте CoroutineContext или Executor для выполнения запросов
👉 Больше полезного в статье, почитай. Она того стоит

#android #room #sqlite #jetpack
🤯28👍143
Forwarded from AvitoTech
Зачем мы пошли в разработку своих решений на базе low-сode & Backend-Driven UI

Представим, что перед нами стоит максимально тривиальная задача — поменять в карточке объявлений цену, выделив ее ярким фоном, и название товара.

Обновления необходимо внести на всех трех платформах: Web, Android и iOS. Следовательно, задача должна пройти полный цикл разработки — от постановки в бэклог до финального релиза. И вот тут возникает проблема. Во-первых, команды могут быть заняты решением более приоритетных задач. Во-вторых, разные платформы обновляются по-разному. И, как итог, time to market даже для такого простого изменения составит существенную величину.

📌Решить это можно через переход на WebView или использование кроссплатформенных инструментов, таких как Flutter. Однако мы остановились на подходе Backend-Driven UI. Что из этого вышло рассказал в новой статье Михаил Шевченко, архитектор и разработчик backend low-code-платформы Bricks в Авито.

#backend_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5
Развитие Android глазами разработчика(11м)

Обзор как развивался с 2007 года и до новых дней: Ant, Eclispe, NetBeans, RoboGuiece, ActionBarSherlock, AsyncTask, EventBus, MVC, Android Studio, Gradle, Material Design, RxJava, Volley, Retrofit, MVP/MVVM, Dagger, Kotlin, Coroutines, Gradle Kotlin DSL, Jetpack Compose, MVI,

#android
🔥33👍9
Детские ошибки при сборке Gradle-приложений (10м)

Статья с рекомендациями по ускорению Gradle сборки Android и не только проектов
👉 Прибегайте к инкрементальной сборке
👉 Настройте Gradle Build Cache
👉 Включите Gradle Configuration Cache. Нужно чтобы все подключенные плагины поддерживали Config Cache. Актуальный статус тут
👉 Используйте Gradle Daemon
👉 ABI vs non-ABI зависимости

Всё очень базово и вы не найдете в статье рецепты, но точно подсветит базу

#gradle #android #производительность
🔥35🤯6👍4
Google I/O 2025 пройдет 20-21 мая. Ждем новые анонсы и много слов AI. Скорее всего в рамках Googel IO и выпустят стабильную Android 16

#googleio
👍23
Google выпустила Codelab по погружению в разработку под Android XR - ОС на основе Android для устройств смешенной реальности

#android #codelab #androidxr
👍23🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Демонстрация добавления перевода строк с помощь Gemini в Android Studio

Какие сценарии для AI в IDE вы еще бы хотели увидеть ?

#androidstudio #gemini
👍50🔥6🤯2
Не нужно делать UseCase для простых вызовов

В статье приводится пример с получением данных через UseCase с простым вызовом метода из единственной зависимости. Конечно, есть принятый подход, но зачем делать лишний класс только потому, что "так принято".

Мне не нравится делать так:
class FetchMemesUseCaseImpl(
private val memeRepository: MemeRepository
) : FetchMemesUseCase {
override suspend operator fun invoke(): List<Meme> {
return memeRepository.fetchMemes()
}

class MemeListViewModel(
private val fetchMemesUseCase: FetchMemesUseCase
) : ViewModel()

а на замену просто получать данные из репозитория в ViewModel:
class MemeListViewModel(
private val memeRepository: MemeRepository
) : ViewModel()


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

#android #архитектура #лучшиепрактики
🔥98👍34🤯11💯81👏1
В вашем коде есть UseCase в одну строку? (как в посте выше)
Anonymous Poll
50%
Да
29%
Нет
2%
Не знаю
15%
Не использую UseCase
0%
Не пишу код
4%
Не участвую в опросе
👍4
📹 Опасности в Android: уязвимости и защитные меры (42м)

Увлекательное путешествие в мир безопасности Android! Разобрали самые интересные и коварные уязвимости, такие как Path Traversal, SQL-инъекции и Tapjacking. Но основное внимание уделили WebView: неправильной валидации данных, уязвимостям в библиотеке для парсинга URL, JavaScript Interface и загрузке диплинков.

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

Будет полезно всем тем, кто интересуется безопасностью Android-приложений.

📹 Версия на VK Video

#android #безопасность #mobius
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍389🔥1