Поиск источника конфликта в Gradle зависимостях проекта, и решение проблемы.
@android_dev_ru #android #gradle
Читать статью
@android_dev_ru #android #gradle
Читать статью
Medium
Debugging dependencies in Gradle
How to use dependencyInsight and fix transient dependencies to specific versions in your Android app
👍4🔥2
Как получить ссылку на фрагмент из активити?
Отвечая на этот вопрос, не рассказывайте, пока не спросят, об использовании в активити объекта List<MyFragment>, в который вы добавляете фрагменты при вызове onAttach() и удаляете в onDetach(). Интервьюер хочет услышать знаете ли вы стандартные методы API.
Системное API предоставляет два метода для поиска и получения фрагмента внутри активити: findFragmentByTag() и findFragmentById().
findFragmentByTag() принимает параметром тег, который передается в методе add() или replace() или в XML в элементе <fragment>. Возвращает null, если фрагмент не найден.
findFragmentById() принимает параметром id фрагмента. Если фрагмент добавляется методом add() или replace(), то id фрагмента – это id контейнера, который передается первым параметром. В случае добавления фрагмента через XML, id задается в элементе <fragment>. findFragmentById() возвращает null, если фрагмент не найден.
#android @android_dev_ru
Отвечая на этот вопрос, не рассказывайте, пока не спросят, об использовании в активити объекта List<MyFragment>, в который вы добавляете фрагменты при вызове onAttach() и удаляете в onDetach(). Интервьюер хочет услышать знаете ли вы стандартные методы API.
Системное API предоставляет два метода для поиска и получения фрагмента внутри активити: findFragmentByTag() и findFragmentById().
findFragmentByTag() принимает параметром тег, который передается в методе add() или replace() или в XML в элементе <fragment>. Возвращает null, если фрагмент не найден.
findFragmentById() принимает параметром id фрагмента. Если фрагмент добавляется методом add() или replace(), то id фрагмента – это id контейнера, который передается первым параметром. В случае добавления фрагмента через XML, id задается в элементе <fragment>. findFragmentById() возвращает null, если фрагмент не найден.
#android @android_dev_ru
👍7🔥2
Приложение с открытым исходным кодом Duress, наспинное на Kotlin, помогает следить за безопасностью вашего устройства.
Оно позволяет установить специальный пароль принуждения, который можно использовать при угрозе безопасности. Если кто-то попытается заставить вас разблокировать телефон, просто введите этот пароль.
После этого Duress автоматически отправит уведомление выбранным контактам, чтобы они знали, что вам нужна помощь.
@android_dev_ru #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
Топ плагинов для Android Studio
1. Kotlin Fill Class — фантастический плагин, который делает разработку намного более приятной и быстрой. С его помощью вы можете заполнять классы и функции на лету.
2. ADB Idea — это дополнение к ADB, которое вы можете запустить с помощью всплывающего окна.
3. Key Promotex X — поможет вам освоить основные сочетания клавиш во время работы. Когда вы нажимаете мышью на кнопку в среде IDE, Key Promoter X показывает сочетание клавиш, которое вы должны были использовать вместо этого.
4. IdeaVim — это Vim в Android Studio. Вы можете настроить его по своему вкусу с помощью файла .ideavimrc в вашем домашнем каталоге, как если бы вы использовали .vimrc.
@android_dev_ru #android
1. Kotlin Fill Class — фантастический плагин, который делает разработку намного более приятной и быстрой. С его помощью вы можете заполнять классы и функции на лету.
2. ADB Idea — это дополнение к ADB, которое вы можете запустить с помощью всплывающего окна.
3. Key Promotex X — поможет вам освоить основные сочетания клавиш во время работы. Когда вы нажимаете мышью на кнопку в среде IDE, Key Promoter X показывает сочетание клавиш, которое вы должны были использовать вместо этого.
4. IdeaVim — это Vim в Android Studio. Вы можете настроить его по своему вкусу с помощью файла .ideavimrc в вашем домашнем каталоге, как если бы вы использовали .vimrc.
@android_dev_ru #android
👍11🔥1
@android_dev_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4🆒4❤1
Минималистичный интерфейс — простая и удобная навигация
@android_dev_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Интегрируя контролируемую среду и стандартизированные тесты, а также используя набор данных Android Instruct, инструмент повышает производительность мл-моделей и агентов с открытым исходным кодом.
Внутри два режима выполнения: AVD на Mac (arm64) и Docker на Linux (x86_64). Вы можете свободно добавлять или изменять новые задачи или образы для Android приложений в соответствии с нашей платформой. Android Lab содержит полную систему оценки, которая может быть использована для оценки производительности различных агентов Android.
Тест AndroidLab включает в себя готовые виртуальные устройства Android и 138 задач в девяти приложениях, созданных на этих устройствах.
@android_dev_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
@android_dev_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3👍2
Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
@android_dev_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥3
Как мы использовали Codex, чтобы запустить приложение Sora под Android за 28 дней четырьмя инженерами
Это статья из официального блога OpenAI, но подход меня так зацепил, что решил перевести для всех. Я тоже часто переношу веб-приложения на мобилки примерно таким же способом и было очень здорово увидеть такой же подход (архитектура+рабочее_приложение-как-пример) у по сути создателей сильного AI.
Читать статью
Это статья из официального блога OpenAI, но подход меня так зацепил, что решил перевести для всех. Я тоже часто переношу веб-приложения на мобилки примерно таким же способом и было очень здорово увидеть такой же подход (архитектура+рабочее_приложение-как-пример) у по сути создателей сильного AI.
Читать статью
Teletype
Как мы использовали Codex, чтобы запустить приложение Sora под Android за 28 дней четырьмя инженерами
Это статья из официального блога OpenAI, но подход меня так зацепил, что решил перевести для всех. Я тоже часто переношу веб-приложения...
🔥4
Пользователи ожидают:
• Плавных переходов из писем/сообщений в приложение
• Сохранения контекста при открытии ссылок
• Рабочих ссылок даже когда приложение не установлено
Базовые концепции:
• Deep Links - открывают конкретный экран в приложении
• Deferred Deep Links - работают даже без установленного приложения
• App Links (Android) / Universal Links (iOS) - веб-ссылки, открывающие приложение
Реализация на Android
1. Добавьте intent-filter в манифест:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="https" android:host="yourdomain.com"/>
</intent-filter>
2. Обработка ссылки в Activity:
override fun onCreate(savedInstanceState: Bundle?) {
if (intent?.action == Intent.ACTION_VIEW) {
val data = intent.data
// Анализ URL и навигация
}
}Реализация на iOS
1. Настройка Associated Domains:
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:yourdomain.com</string>
</array>
2. Обработка в AppDelegate:
func application(_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let url = userActivity.webpageURL else {
return false
}
// Обработка URL
return true
}
Продвинутые сценарии
1. Аналитика переходов:
• Добавьте UTM-метки к ссылкам
• Отслеживайте источник установки
2. Совместная работа с бэкендом:
{
"url": "https://app.com/product/123",
"ios_store_id": "123456789",
"android_package": "com.yourapp"
}3. Тестирование:
# Android
adb shell am start -W -a android.intent.action.VIEW -d "https://yourdomain.com/product/123"
# iOS
xcrun simctl openurl booted "https://yourdomain.com/product/123"
Лучшие практики:
• Используйте Firebase Dynamic Links для кроссплатформенного решения
• Поддерживайте веб-версии всех deep link-страниц
• Документируйте все схемы URL для команды
Какие библиотеки для deep links вы используете? Делитесь опытом в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2🤯1
Канал ведёт Senior Java разработчик и в нём он делится полезной инфой которая пригодится каждому в разработке:
Видео, тесты, статьи
Hibernate, Spring
Вопросы и задачи с собеседований
Подписывайтесь: @javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
pod install --repo-update – надежный способ избежать "кэш-проблем" с CocoaPodsЭта команда гарантирует, что перед установкой:
• Локальный репозиторий CocoaPods синхронизируется с удаленным
• Вы получаете актуальные версии всех зависимостей
• Исключаются проблемы с устаревшим кэшем
Для экономии времени в CI можно использовать
pod install --repo-update --verbose (лог поможет отладить проблемы)Альтернатива для "чистого" старта:
rm -rf ~/.cocoapods/repos && pod setup
Лайфхак: Добавьте в ваш
Fastfile:lane :setup_pods do
sh "pod install --repo-update"
end
А вы часто сталкиваетесь с проблемами CocoaPods? Делитесь в комментариях своими способами решения
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Перед релизом или крупным обновлением пройдитесь по этому списку, чтобы избежать критических ошибок и негативных отзывов.
Какие важные пункты мы забыли? Пишите в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥2
Она называется OkcarOS. Это кастомная прошивка Android 13, которая напрямую общается с экраном автомобиля по протоколу CarPlay.
→ Подключение за 4 секунды
→ Видео 60 fps, битрейт 25 Мбит/с
→ Без потерь аудио PCM
→ Разрешение 1:1 с экраном в автомобиле
100% с открытым исходным кодом.
@android_dev_ru #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8