Новости ноября из мира Android-разработки уже на 📹 YouTube и 📹 VK Video
🤖 Изменения в графике релизов Android, начиная с 2025 года 🏝 Новая KMP IDE от JetBrains — часть плана развития Kotlin Multiplatform (KMP) на 2025 год 🔨 Новинки Gemini AI в Android Studio 📸 CameraX 1.4 — новый релиз с массой фичей
Не пропустите полезный выпуск для всех, кто хочет быть на волне новинок в Android-разработке! 🤖
Хотел прикрутить обрезку картинок через штатное приложение камеры (com.android.camera.action.CROP). Накидал код контракта. Круто же по современному myCrop.launch() и код чистенький при использовании. А оно для моих целей не подходит. Готовую картинку можно получить или как parcel битмапа или в виде uri на новое приложение. Сразу не подумал, что мне нужно БОЛЬШУЮ. А если мне урл на нее возращают, значит обрезанная картинка большого размера остается в галерее :(
В общем жалко просто выкинуть. Может кому потом меньше кода писать будет.
Обновление «окирпичивает» смартфоны Samsung. Кто виноват и что делать?
Кажется, компании соревнуются в наплевательском отношении к пользователям: теперь досталось владельцам Samsung. После обновления устройства начинают бесконечно перезагружаться, причём проблема коснулась устройств пятилетней давности, включая и Galaxy S10 и Note 10. Виновата ли компания и что делать пользователям?
Теоретики заговоров могут предположить, что таким образом Samsung решил намекнуть владельцам старых устройств перейти на новые. Только вряд ли потерявшие любимые фотографии и пароли от работы пользователи пойдут за смартфоном той же марки. Скорее всего, дело в том, что Samsung за эти пять лет продал под миллиард смартфонов, и протестировать все возможные конфигурации, сочетания железа и ПО просто нет возможности.
Вот и сэкономили, особенно на старых моделях. На наш взгляд, производителю стоило пойти до конца и предусмотреть возможность неудачного обновления. Проблема со слишком большим сочетанием железа и набора ПО известна, регулярно даже у самых больших производителей что-то идёт не так. Так почему бы в ПЗУ не зашить базовую прошивку и не назначить комбинацию клавиш для возврата к ней?
А пользователям можем только посочувствовать и настроить бекапы. Техника относительно дёшева, продаётся миллиардными тиражами, и даже при 99,999% надёжности кто-то будет страдать от брака, глюков и в итоге потери данных. Но облачные сервисы тоже недороги, поэтому проще сразу наладить дублирование информации.
С недавних пор гугл требует верефицировать аккаунт разработчика. При этом необходимо подтвердить номер телефона и адрес. Было много статей в СМИ о том, что гугл не принимает российские номера телефонов. И официальный ответ гугла, что дело не в стране. Сказали, у них глобальный сбой, который стремительно решают. Стремительно решают они его уже год, при этом ничего не решается. А сообщения о том что номера не принимаются валятся в огромных количество от людей со всего света. Судя по всему, в ближайшее время гугл лишится половины приложений. Может в этом была какая то их глобальная задумка? Не знаю.
Практическая часть. Телефон.
Не работают большинство российских операторов. Грузинские тоже не работают. Работает российский Теле2. Сори за невольную рекламу.
Адрес. С подтверждением адреса тоже проблема. Мой грузинский договор аренды они не приняли, сказали такого документа не знают. Скан российского паспорта с пропиской тоже не приняли. Сказали, что документы из этой страны не принимают. Это, кстати, мог бы быть настоящий повод для возмущения в СМИ. В итоге их устроила выписка со счета из банка с адресом. Сделал ее в Bank of Georgia. Что интересно, выписка делается через чат в приложении. Адрес можно назвать любой, никто не проверяет.
Итого, пройти верефикацию возможно. Но не факт, что с российским адресом. С гуглом происходит какая-то хрень.
Спасибо за внимание.
PS: Мы подтвердили аккаунт и скоро стартуем наше приложение "Что почитать?" А пока подписывайтесь на наш канал
«Мидл Android-разработчик» — новый курс Яндекс Практикума
Курс «Мидл Android-разработчик» — это углубленная 5-месячная программа, предназначенная для Android-разработчиков с опытом. Курс ориентирован на максимальное расширение прикладного кругозора разработчика.
Каждые две недели студенты знакомятся с проблемой, которую надо решить, используя новую технологию или подход. Решение закрепляется выполнением проекта. Проекты дают возможность студентам познакомиться с большинством сфер рынка Android-приложений.
Вы научитесь тому, что отличает опытного разработчика от новичка:
Освоите современные архитектурные паттерны: научитесь применять принципы SOLID, Clean Architecture, а также работать с современными архитектурами UI, такими как TEA и MVI;
Сможете создавать сложные компоненты Jetpack Compose с анимациями, чтобы разрабатывать современные и эффективные пользовательские интерфейсы;
Изучите технологии, которые помогут решать разные задачи при разработке: интегрировать в приложения аудио и видео, разрабатывать функции с использованием геолокации;
Поймёте, как обеспечить стабильную работу приложения и оптимизировать его: освоите UI- и юнит‑тесты, научитесь настраивать CI/CD и оптимизировать приложение перед публикацией в Google Play.
Наши эксперты — опытные разработчики из Яндекса, Авито, Т-Банка и других топовых компаний, которые давно работают с Kotlin. Они составили программу, опираясь на свой опыт, поэтому вы будете учиться тому, что на самом деле пригодится.
В компании где я работаю, существует приложение написанное на нативных технологиях в лице — Kotlin/Swift.
Так вот, в приложение на андроид реализована система flavor, практически для более чем 80 компаний.
Попытка удешевить разработку, привела нас к React Native, так как у меня был немалый опыт разработки и работы с данным фреймворком.
С первого взгляда не было очевидно, но… оказывается в React Native поддержки подобного попросту нет от слова совсем.
Конечно, любой скажет «да ведь просто можно использовать переменную флейвора текущего приложения, и менять контент условностями» — но все не столь однозначно и просто… (ведь требование и цель использовать все преимущества этой концепции)
Как итог, если вы хотите реализовать концепцию flavor в полной мере, используя React Native (и вы четко понимаете как это работает в нативе) — то предупрежу сразу что у вас не получится, банально из‑за того, что вы получаете возможность настроить лишь ваши иконки и заголовки, ну и настройки на уровне андроид конфигов =)
Лидерство в коде: технологии, сообщества и корпоративная среда
Привет! Это подкаст «Айтидо» от команды мобильной разработки Альфа-Банка 🎙
Айтидо – путь мобильных технологий. В этом подкасте мастера разработки делятся опытом создания приложений, раскрывая искусство объединения бизнеса, команды и инноваций. Каждый выпуск – это частичка того пути айтидо, который мы выбрали.
В первом выпуске подкаста мы поговорили с Никитой Збитневым, техлидом мобильной разработки.
Поговорили о его пути в мобильную разработку через Java, как внедряются новые технологии в финтехе и почему многие переходят из корпораций в стартапы. Никита поделился лайфхаками о том, как он остается на одной волне с командой, развивает сообщество и успевает играть в D&D 🐉
Передаем привет всем Android-разработчикам и спешим поделиться хорошей новостью: хотим провести публичное собеседование с одной большой компанией. Это классный вариант проверить знания, поделиться ими с другими. А еще быстрее найти работу — да вы и сами в курсе.
Решил поразмыслить на тему лучшей технологии для управления диабетом 1 типа. Нет сомнения что в качестве приложения буду использовать Android APS, но вот на что его поместить?
Многие прилипли к своим яблочным смартфонам и носят для своей ИПЖ второй телефон, что хорошо год-два-три, а потом начинаются проблемы. Просто надоидать начинает. Но это не единственная проблема.
Что если ты играешь в баскетбол? Что если телефон (второй, замечу), привык носить в рюкзаке (ведь каждый раз доставать его не удобно), что если ты дома в шортах например и отошел от своего android-смартфона на 7-10 метров и связь с твоим сенсором теряется? В этом смысле удобнее использовать часы (которые я сейчас ношу и на счет которых я писал здесь же статью).
Получается, с одной стороны - телефон, который 2-3 раза а может и 5-7 раз в неделю остается где то неподалеку и теряет связь, что во многих ситуациях приведет к снижению или повышению глюкозы. А с другой - часы на полном андройде, которые носишь на руках и избегаешь событий описанных выше?
Часы - лучше, мое мнение. Есть нюансы и с ними, но в целом - ты не носишь в кармане своих джинс (зачастую достаточно узких) - лопату размером с весь твой карман, не переживаешь что забыл.
Просто такие часы делает только Kospet (ну реально не плохие если). Остальные фирмы - не подходят. А может быть знаете какие то еще подходящие варианты кроме Kospet и Lemfo?
Google выпустила тизер с моделью Pixel 9 Pro Fold всего через несколько часов после презентации нового смартфона Pixel 9 Pro. В видео упоминаются умные функции с поддержкой ИИ Gemini.
Складной смартфон получит двойные линзы для модуля задней камеры, а также внешний экран и шарнир.
Google представит больше подробностей на своём мероприятии 13 августа. В ходе него ожидается презентация линейки Pixel 9 Pro, Pixel Watch 3 и других устройств.
Эксперты выяснили, почему важно обновлять ОС на смартфонах. Утечка документов компании Cellebrite показала, что последние версии iPhone на iOS 17.4. и выше не поддаются взлому специальным оборудованием.
С iPhone с iOS от 17.1 до 17.3.1 в Cellebrite извлекать информацию научились, но пока только до 11 модели включительно. Оборудование для взлома iPhone 12-14 в разработке.
Со смартфонами на Android всё оказалось проще, взлому поддаются все устройства Samsung, смартфоны Huawei, Pixel (XL, 3-5) и большинство устройств на базе Qualcomm.
Cellebrite — израильская компания, которая поставляет оборудование для извлечения данных с мобильных устройств правоохранительным органам более 150 стран.
Anthropic запустила Android-приложение для чат-бота Claude AI. Его можно скачать из Google Play, приложение бесплатное и доступно для всех пользователей, включая подписчиков Pro и Team.
Приложение предоставляет пользователям Android доступ к самой мощной модели Claude 3.5 Sonnet. Оно предлагает:
поддержку нескольких платформ;
возможности машинного зрения для анализа изображений в реальном времени;
Мы создали свой инструмент для доставки сборок Android-приложений
В условиях блокировки официального сервиса Firebase App Distribution в России, перед нашим отделом мобильной разработки встала задача создать собственный инструмент для доставки сборок Android-приложений тестировщикам.
Да, мы могли бы пользоваться Firebase App Distribution с помощью VPN, но это не очень удобно. VPN-сервисы ненадежны, потому что подвержены блокировкам. К тому же создание собственного решения позволяет добавлять новые функции и адаптировать инструмент под конкретные нужды команды.
На многих проектах огромное количество времени уходило на то, чтобы достать сборку из GitLab или собрать ее вручную и отправить тестировщику. Также это сильно отвлекает от работы над задачами. Решением стала разработка инструмента, который будет принимать, хранить и раздавать файлы сборок.
Для его реализации выбрали фреймворк Ktor. Благодаря этому любой разработчик, знакомый с Kotlin, сможет быстро разобраться в кодовой базе, поддерживать инструмент и интегрировать его с различными проектами. А в качестве интерфейса решили выбрать Telegram. Наши рабочие чаты чаще всего находятся именно там. Кроме того, Telegram Bot API предоставляет много возможностей, хоть и имеет некоторые ограничения.
Энтузиаст запустил игру Grand Theft Auto V с помощью эмулятора Horizon на геймерском смартфоне Asus ROG Phone 8 Pro на базе восьмиядерного процессора Snapdragon 8 Gen 3 с 16 ГБ оперативной памяти, а также на Galaxy S24 Ultra и OnePlus 12, где стоит такой же чипсет.
Игра работала при разрешении 1600x720 и в основном выдавала примерно 40-50 FPS в городе и 50-60 FPS за городом. Максимум фреймрейт достигал 60-70 кадров в секунду, однако во время интенсивных перестрелок мог падать до 30 FPS.
Полного заряда батареи смартфона хватило примерно на час игры, а пиковая температура со специальным внешним кулером составила 47 градусов Цельсия.
«Эмулятор Horizon очень хорошо оптимизирован для Snapdragon 8 Gen 3, и это показывает, насколько мощным является чипсет», — пояснил блогер.
Для этого есть 5 вариантов: • WebView • GeckoView • CustomTabs • TWA • внешний браузер
WebView
Это обычная вьюшка, которая встраивается в вашу верстку
Плюсов много: • можно контролировать каждый запрос (есть куча колбеков) • можно передать любые куки и хедеры (в том числе токены пользователя, чтоб не заставлять пользователя заново авторизовываться) • можно настроить JS Bridge (вызывать нативный код прямо с сайта)
GeckoView
Это аналог WebView от Firefox
Сам не использовал, ничего сказать не могу. Если кто пользовался, поделитесь опытом/эмоциями, пожалуйста)
CustomTab
CustomTab — это Activity браузера Chrome, открытое поверх вашего приложения в вашей Task-e
Из плюсов: • в CustomTab доступен весь функционал браузера (кнопка "поделиться", поиск по странице...) • общее с Chrome хранилище данных о юзере (если открыть ссылку, где юзер раньше авторизовывался, то он сразу окажется в своем аккаунте)
Минусы есть: • нельзя встроить в верстку • колбеков практически нет, настройки минимальные • можно передать только определенные хедеры/куки • нельзя вытащить куки обратно
TWA (Trusted Web Activities)
Обертка над CustomTab. Используется для связи PWA (progressive web app) и нативных возможностей приложения. Позволяет опубликовать PWA в Play Market.
Внешний браузер
Тут просто пуляем Intent с Intent.ACTION_VIEW в систему, а система уже находит приложение, которое этот URL может обработать. Из минусов — нет возможности передать/забрать хедеры/куки
На Android появится виджет Google Home Favorites, который обеспечит быстрый доступ к устройствам умного дома. Он позволит управлять устройствами, действиями и средствами автоматизации прямо с главного экрана смартфона. В Wear OS также появился виджет Favorites и расширение для доступа к часто используемым устройствам.
С помощью виджета можно будет включать свет, закрывать дверь или проверить температуру. Его размер можно регулировать. Виджет доступен тем, кто подписался на общедоступную предварительную версию приложения Google Home, начиная с 30 мая.
Favorites в Wear OS позволяет получить доступ к управлению максимум пятью устройствами. Его можно настроить на управление конкретным прибором прямо с циферблата.