#android #rustore
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47
Media is too big
VIEW IN TELEGRAM
Видео с Gradle DPE Summit про основные советы по Gradle для Android разработчиков
00:00 Introduction
00:48 About Toast
03:09 Build Growth Challenges
05:21 Reducing Build Times
06:28 Hardware Solutions
08:08 Gradle Properties
11:36 Memory Management
16:05 Dependency Handling
19:40 CI Optimization
23:35 Agent Configuration
25:38 Conclusion
#android #gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20
Чтобы добавить поддержку других платформ в Jetpack Room, необходимо было обеспечить совместимость с различными версиями SQLite, встроенными в ОС, а также с теми, которые могут подключаться отдельно. Результатом стал BundledSQLiteDriver, который позволяет использовать актуальную версию SQLite, поставляемую отдельно, и применять её на всех платформах.
В статье подробно рассматриваются особенности этого подхода к работе с SQLite в Room.
#kotlin #kmp #android #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
🔥 В поисках Senior Mobile App Developer
Стек: Kotlin, Swift
Формат работы: удаленка (работа из РФ и Беларуси невозможна)
Требование: опыт работы от 5 лет, English B1+
💡 Вы будете играть решающую роль в разработке и поддержке мобильных приложений на платформах Android и iOS, уделяя особое внимание интеграции веб-контента через WebView и работе с различными SDK сторонних разработчиков.
👉 Подробнее о вакансии по ссылке
❗️ Для отклика на вакансию пишите @Irina_HRD с указанием от Android Broadcast
#вакансия
Стек: Kotlin, Swift
Формат работы: удаленка (работа из РФ и Беларуси невозможна)
Требование: опыт работы от 5 лет, English B1+
💡 Вы будете играть решающую роль в разработке и поддержке мобильных приложений на платформах Android и iOS, уделяя особое внимание интеграции веб-контента через WebView и работе с различными SDK сторонних разработчиков.
👉 Подробнее о вакансии по ссылке
❗️ Для отклика на вакансию пишите @Irina_HRD с указанием от Android Broadcast
#вакансия
👍11
Forwarded from Kotlin Multiplatform Broadcast
В Kotlin 2.1.20 несовместим со свежей версий XCode, поддержка будет в Kotlin 2.1.21. Отложите обновление!
#kotlin #kmp #xcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
В статье рассказывается в чем сложность с обработкой одноразовых событий, которые надо передать из ViewModel в UI.
Автор рассматривает способ через callback интерфейс в конструкторе ViewModel
@HiltViewModel
class MyViewModel @Inject constructor(
// inject the interface
private val toastMessages: ToastMessages,
) : ViewModel() {
fun doSomething() {
viewModelScope.launch {
try {
// execute async operation here
} catch (e: CustomException) {
// initiate a one-off event
toastMessages.showToast(e.localizedMessage)
}
}
}
}
🔗 Альтернативная ссылка на статью
#android #viewmodel #dagger #hilt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Статья с рассказом истории написания файлового менеджера для WearOS
🛒 Приложение в Google Play
🐱 Исходный код на GitHub
#android #wearos #opensource
#android #wearos #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
Исходный код не доступен, но автор осветил архитектуру приложения, модуляризацию, публикацию, решение проблем, локализацию
#opensource #media3 #пример
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Forwarded from AvitoTech
Секунду… Это что, новый курс от команды разработчиков? 🚀
Так точно! Наш бэкенд-инженер Юра Афанасьев создал обучающий курс по паттернам и практикам написания кода. В нём он разбирает порождающие, структурные и поведенческие паттерны, историю их создания и методы в основе.
Ещё из плюсов: простая и понятная подача, короткие и насыщенные информацией материалы, курс подходит как начинающим инженерам, так и миддлам.
Кратко о Юре:
⚡️ Больше 15 лет в коммерческой разработке;
⚡️ Больше 6 лет в Авито (сейчас в департаменте монетизации);
⚡️ 12 лет писал на Php и 4 — на Golang;
⚡️ Организатор внутреннего коммьюнити в Авито.
В первой части — про историю создания паттернов. Выбирайте удобный формат и смотрите:
📺 YouTube
🔵 VK Видео
💻 Rutube
#backend
Так точно! Наш бэкенд-инженер Юра Афанасьев создал обучающий курс по паттернам и практикам написания кода. В нём он разбирает порождающие, структурные и поведенческие паттерны, историю их создания и методы в основе.
Ещё из плюсов: простая и понятная подача, короткие и насыщенные информацией материалы, курс подходит как начинающим инженерам, так и миддлам.
Кратко о Юре:
В первой части — про историю создания паттернов. Выбирайте удобный формат и смотрите:
#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍21
Отключите эти настройки Android в Gradle для ускорения сборки
В Android Gradle Plugin есть настройка разных build feature для включения разных опций
Каждая из них отвечает за определенную опцию, но вот значение каждой опции будет зависеть от версии.
Я предпочитаю явно выключить все опции по умолчанию и в каждом модуле включать их только при необходимости в модуле в build.gradle.kts. Сделать это можно через gradle.properties
‼️ Больше полезных советов и статей в Базе Знаний Android разработчика
#android #gradle #лучшиепрактики
В Android Gradle Plugin есть настройка разных build feature для включения разных опций
// Часть флагов могут быть доступны только в определнных типах модулей
// Указаны знгачения по умолчанию в Android Gradle Plugin 8.10.0
android {
buildFeatures {
// Включить/выключить Android ресурсы для библиотечных модулй
androidResources = true
aidl = false
buildConfig = false
compose = false
dataBinding = false
mlModelBinding = false
prefab = false
renderScript = false
// Генерация ресурсов из Gradle файла
resValues = true
shaders = true
viewBinding = false
}
}
Каждая из них отвечает за определенную опцию, но вот значение каждой опции будет зависеть от версии.
Я предпочитаю явно выключить все опции по умолчанию и в каждом модуле включать их только при необходимости в модуле в build.gradle.kts. Сделать это можно через gradle.properties
# Отключение ресурсов для Android Library модулей
android.library.defaults.buildfeatures.androidresources=false
android.defaults.buildfeatures.aidl=false
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.databinding=false
android.defaults.buildfeatures.mlmodelbinding=false
android.defaults.buildfeatures.shaders=false
android.defaults.buildfeatures.prefabPublishing=false
android.defaults.buildfeatures.viewbinding=false
#android #gradle #лучшиепрактики
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54
В Android 16 появится возможность работать только с проверенными и публично доступными SSL сертификатами
В XML реcурсе с Network Security Config надо сделать
Источник - @nek_12_personal
#android16 #безопасность
В XML реcурсе с Network Security Config надо сделать
<network-security-config>
<base-config cleartextTrafficPermitted="false">
<certificateTransparency enabled="true" />
</base-config>
</network-security-config>
Источник - @nek_12_personal
#android16 #безопасность
👍23
В коде Android 16 обнаружили возможность компиляции dex в ota код в облаке, а не на устройстве. Возможность рассчитана на слабые устройства для ускорения установки и экономии энергии.
#android16 #art
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍61
Media is too big
VIEW IN TELEGRAM
Не так давно я поменял Pixel 7 на 9. Кажется, что всё в рамках одной экосистемы идет, но как много приложений заставили меня снова логиниться и проводить настройку. Приятным исключением стал VK, как раз так авторизация перенеслась и всё работало!
Разработчик этой фичи, Артур Илькаев, в VK ID сделал доклад на Mobius, где рассказал все подробности решения, а также как много денег это смогло сэкономить бизнесу, а сам Артур смог получить благодаря этому миллионный бонус за год потому что сэкономил бизнесу намного больше и в долгий срок!
0:00 Про что будет доклад
2:32 Начало доклада
39:41 Обсуждение
#android #backup #mobius
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤1
Как найти неиспользуемые зависимости в Dagger Component (EN,11м)
С помощью Dagger SPI автор написал анализатор графа Dagger c целью поиска неиспользуемых зависимостей и описал подход в статье. Также подход можно использовать для визуализации графа зависимостей, считать разные метрики графа и пр.
🐱 Исходный код на GitHub
🔗 Альтернативная ссылка
#dagger #di #opensource
С помощью Dagger SPI автор написал анализатор графа Dagger c целью поиска неиспользуемых зависимостей и описал подход в статье. Также подход можно использовать для визуализации графа зависимостей, считать разные метрики графа и пр.
🔗 Альтернативная ссылка
#dagger #di #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍25
Разработчик на простом примере показывается как сделать чистую архитектуру в Android проекте, подробно описывая каждый шаг. Полезно будет для новичков. Читайте тут (12м)
#android #архитектура
#android #архитектура
👍18
Forwarded from Kotlin Multiplatform Broadcast
Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке)
#kotlin #di #ksp
@DependencyGraph
interface AppGraph {
val httpClient: HttpClient
@Provides
private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM
}
@Inject
class HttpClient(private val fileSystem: FileSystem)
@Inject
@Composable
fun App(circuit: Circuit)
#kotlin #di #ksp
👍20
Обзор(EN,7М) как оценивать время выполнения Gradle тасков в разных условиях для Android проектов. Если коротко - используйте Gradle Profiler и правильно настраивайте сценарий
🔗 Альтернативная ссылка
#android #gradle #производительность
🔗 Альтернативная ссылка
#android #gradle #производительность
👍14
Forwarded from AvitoTech
Продолжаем разбираться в паттернах! На очереди — порождающие 🚀
В новом выпуске рассмотрим первые два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях.
🔍 В выпуске рассказали про подводные камни использования, их назначение, плюсы и минусы. А ещё объяснили, откуда взялся паттерн фабрика и почему паттерны — не аксиомы:
📺 YouTube
🔵 VK Видео
💻 Rutube
#backend
В новом выпуске рассмотрим первые два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях.
#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
Сканер доступен всем, у кого есть доступ к Google Pay API for Android. Для использования API не требуется разрешение на использование камеры в вашем приложении.
Для работы API также необходимы: Google аккаунт на устройстве, 1+ GB RAM, наличие задней камеры и Google Play Services, а также поддержка портретной ориентации.
#android #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39