TGTGInsighttelegram intelligenceLIVE / telegram public index
Retour aux chaînes
Android Broadcast avatar

TGINSIGHT CHAT

Android Broadcast

@android_broadcast

Technologies

Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR

Abonnés1.4万Abonnés actuels de la chaîne
Posts indexés1,000Nombre de posts indexés
Portée récente81,500Somme des vues récentes
Posts récents

Posts récents

Tag : #android · 490 posts

当前筛选 #android清除筛选

Qualcomm продлевают поддержку Android до 8 лет! Новая инициатива Qualcomm и Google позволит устройствам на Snapdragon 8 Elite и будущих чипах получать обновления Android и патчи безопасности в течение 8 лет. Это огромный шаг вперёд для Android-экосистемы, повышая долговечность устройств и снижая затраты для OEM-производителей. Какие устройства получат поддержку? 👉 Смартфоны на Snapdragon 8 Elite с Android 15 👉 Будущие устройства на новых Snapdragon 8 и 7-й серии 👉 Включает 2 обновления ядра Android Common Kernel Однако финальное решение остаётся за производителями. Будут ли OEM-ы действительно поддерживать свои устройства так долго? Samsung уже делает 7 лет, Google столько же, но у них свои чипы. #Android#Qualcomm#Snapdragon

5,580 views

⚰️Amazon закрывает магазин приложений для Android C 20 февраля 2025 больше не принимаются новые публикации от разработчиков Обновления приложений можно загружать до 20 августа 2025 20 августа 2025 прекращается поддержка магазина на Android устройствах, но продолжит работать на Fire TV и Fire Tablet Amazon Appstore был запущен 22 марта 2011 года #android#amazon

6,250 views

🪙Настройка качества контроля кода в KMP проекте и автоматизация запуска проверок локально и на CI (40 мин) Продолжаю рассказывать про ход разработки KMP + Compose клиента для Frame.io. В новой части показываю как я настроил анализаторы кода: KtLint, Detekt, Gitleaks, Manifest Guard и другие, а также как стоит подходить к оптимизации скорости проверок локально и на CI. Полезно как для командных проектов, так и для ваших личных проектов (я бы тут даже сказал что еще важнее)! ✉️ Также видео доступно в Telegram (нужно оформить подписку) Список всех вышедших и планируемых видео тут #AndroidBroadcast#frameio#kmp#android#ios#качествокода

6,160 views

Чтобы оценить как ваше приложение поддерживает accesibility, то можете поставить приложение Accessibility Scanner #android#accessibility

8,550 views

Анализ Android-фич на доступность и внедрение accessibility в процесс разработки (7м) В статье Android-разработчик из VK рассказывает о совместной работе разработчиков и дизайнеров над повышением доступности контента для людей с ограниченными возможностями, использующих скринридеры. Были проанализированы различные фичи и предприняты шаги для обеспечения доступности функциональности. Ключевые моменты: 👉 Обеспечение корректной работы с фокусом в UI 👉 Единообразие навигации по элементам UI 👉 Добавление локализованных contentDescription, чтобы они озвучивались системой TalkBack #android#accessibility

6,740 views

🤖Новая защита от Intent Redirect в Android 16 Начиная с Android 16, система получила усиленную защиту от атак с редиректом Intent – механизма, с помощью которого злоумышленники могли подменять содержимое Intent для запуска приватных компонентов. Благодаря обновлению: 🔒 Защита по умолчанию: Система автоматически проверяет входящие Intent, снижая риск выполнения недоверенных операций. 🛠 Минимальные изменения для разработчиков: Большинство приложений, использующих стандартный механизм Intent, продолжат работать без проблем, однако рекомендуется протестировать проекты в новых условиях. 💡 Повышенная безопасность: Новые меры помогают предотвратить несанкционированный доступ к данным и выполнение привилегированных действий. #android#android16#безопасность

7,630 views

🤖 Шаринг ключей из Android Keystore с другими приложениями В Android 16 KeyStoreManager получил возможность поделиться ключами с другими приложениями на устройстве пользователя fun generateAndShareKey(targetUid: Int) { // Генерация нового ключа в Android Keystore val keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore") val keyGenSpec = KeyGenParameterSpec.Builder( KEY_ALIAS, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT ) .setBlockModes(KeyProperties.BLOCK_MODE_GCM) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) .build() keyGenerator.init(keyGenSpec) val secretKey: SecretKey = keyGenerator.generateKey() // Предоставление доступа к ключу приложению с заданным UID val keyStoreManager = KeyStoreManager.getInstance() val granted = keyStoreManager.grant(KEY_ALIAS, targetUid) if (granted) { Log.d(TAG, "Доступ предоставлен UID: $targetUid") } else { Log.e(TAG, "Не удалось предоставить доступ UID: $targetUid") } } Пример отзыва доступа к ключу fun revokeKeyAccess(targetUid: Int) { // Отзыв доступа к ключу для приложения с заданным UID val keyStoreManager = KeyStoreManager.getInstance() val revoked = keyStoreManager.revoke(KEY_ALIAS, targetUid) if (revoked) { Log.d(TAG, "Доступ отозван для UID: $targetUid") } else { Log.e(TAG, "Не удалось отозвать доступ для UID: $targetUid") } } #android#android16#безопасность

6,870 views

🤖Форматируйте дату и время на основе настроек пользователя В большинстве приложений приходится выводить время и дату, но в каком формате сделать это правильнее всего? Логично использовать формат, который применяется для локали пользователя, но в настройках системы пользователь может указывать формат времени и даты для отображения, а значит, ему хотелось бы видеть такой формат везде. Используйте класс android.text.format.DateFormat (ВАЖНО не путать с одноименным классом из пакета java.text) // Получаем текущую дату и время val currentDate: Date = ... // Получаем форматтер для даты, который учитывает региональные настройки пользователя val dateFormatter: java.text.DateFormat = android.text.format.DateFormat.getDateFormat(context) // Форматируем дату val formattedDate = dateFormatter.format(currentDate) // Получаем форматтер для времени, который учитывает настройку 12/24-часового формата val timeFormatter = android.text.format.DateFormat.getTimeFormat(context) // Форматируем время val formattedTime = timeFormatter.format(currentDate) // Получение порядка дня, месяца, года, который определил пользователь // Например ['d', 'M', 'y'] val char[] = android.text.format.DateFormat.getDateFormatOrder(context) val is24Hour = android.text.format.DateFormat.is24HourFormat(context) // Выбираем шаблон форматирования времени val pattern = if (is24Hour) "HH:mm" else "hh:mm a" // Форматируем время согласно выбранному шаблону val formattedTime = DateFormat.format(pattern, currentDate) Такой подход позволяет пользователю работать со временем в привычном формате в вашем приложении, а вам не задумываться какой шаблон времени использовать для форматирования. Если вы не хотите работать со старым Date API, которое есть с самых первый версий Java, то можно получить шаблон для форматирования времени на основе настроек пользователя с помощью android.text.format.DateFormat.getBestDateTimePattern() // Получаем шаблон форматирования для времени. В данном случае шаблон "hm" используется для получения // подходящего шаблона, который учитывает настройки пользователя (12/24-часовой формат). val locale = Locale.getDefault() val pattern: String = android.text.format.DateFormat.getBestDateTimePattern(locale, "hm") // Создаем DateTimeFormatter из Java 9 Date Time API val dateTimeFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern(pattern, locale) // Пример форматирования текущего времени с использованием DateTimeFormatter val formattedTime: String = LocalTime.now().format(dateTimeFormatter) println("Отформатированное время: $formattedTime") #android#лучшиепрактики

6,350 views

31 марта 2025 закрывается App Center Многие знают App Center как удобный способ распространения сборок Android и iOS приложений #android#ios#microsoft

7,060 views

🛒Представили Play Service TrustedTime API Для тех приложений, которым важно получать настоящее время, а не то, что установлено на устройстве пользователем, всегда приходилось решать вопрос, откуда его взять. Теперь же появилось стандартизированное API. // Создаем клиента для работы с Trusted Time API val initializeTrustedTimeClientTask: Task = TrustedTime.createClient(activity) val trustedTimeClient: TrustedTimeClient = initializeTrustedTimeClientTask.await() val curTime: Long? = trustedTimeClient.computeCurrentUnixEpochMillis() // Используем системное время, если нет возможности получить из TrustedTime API // Может не подойти в вашем случае ?: System.currentTimeMillis() Поддерживается Android 5.0 и выше (SDK 21+) #google#gms#android

8,320 views

В региональных настройках Android 16 пользователь сможет менять метрическую систему Теперь разработчикам в зависимости от настроек рекомендуется форматировать размеры в приложениях, но вот API из коробки для того не дали. #android#android16

5,820 views

🤖Включение Edge-to-edge для всех приложений без возможности выключения В Android 15 есть флаг R.attr#windowOptOutEdgeToEdgeEnforcement, который позволял отключить для приложения "обязательное" включение Edge-to-Edge. В Android 16 флаг помечен как устаревший (deprecated) и система его игнорирует, а значит для вашего приложения включится режим отображения от края до края экрана. #android#android16#edgetoedge

6,170 views
12•••10•••20•••30•••35363738394041