Как стать автором
Обновить
227.1

Разработка под Android *

Пишем под самую популярную мобильную ОС

Сначала показывать
Порог рейтинга

Друзья! Может кто‑то из моих читателей продаёт HTC Dream aka T‑Mobile G1? Сейчас готовлю новый материал из серии «сам себе экосистема», где пилю клиенты современных сервисов под смартфоны 14+ летней давности. В идеале, конечно, показать работоспособность клиента на самом первом Android‑смартфоне:) Тг — @monobogdan

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

ЭФФЕКТ ДОПЛЕРА против БРЮСА ЛИ - для теста нужен лишь Андроид

Этот пост - предвварительная проверка идеи или концепта и, может быть, НИОКР и/или попытка предварительного анализа востребованности, реакции читателей Хабра.

Концепт приложения для "диванных" каратистов - измерение скорости удара

Навеяно старым приложением (сейчас не могу его найти в google play) от известного бойца ММА. Старое видео на youtube >> Quinton "Rampage" Jackson demos his new app Rampage Punch

Приложение Джексона использовало интегрирование показаний акселерометра. Это проблемы с низкой частотой сэмплирования (не все хорошо по Найквисту-Котельникову), ограниченным динамическим диапазоном, калибровкой и дрейфом.

Существуют игровые автоматы для измерения силы удара. Но с ними есть проблема.

Известный боец смешанных единоборств Конор Макгрегор рассмешил фанатов своим ударом по силомеру. Об этом сообщило издание Tengri Sport. Ирландская звезда ММА решил показать сокрушительную мощь удара, но выбил лишь 1 очко из 999 возможных. >> Видео - лучшая анти-реклама измерителя силы удара

Я попробовал сделать >> ВИДЕО прототип измерителя скорости удара на основе эффекта Доплера, particle FFT на python и/или готовых "кубиков" (других приложений)

Ничего не продается и не рекламируется. В законченном виде его не существует. Нигде ничего скачать нельзя.
Ничего не продается и не рекламируется. В законченном виде его не существует. Нигде ничего скачать нельзя.

Теги:
Всего голосов 6: ↑4 и ↓2+2
Комментарии7

Apple в ответ на антимонопольный иск Министерства юстиции США сообщила, что инженеры компании пытались организовать поддержку работу умных часов Apple Watch со смартфонами на Android.

После трехлетних исследований и тестов в компании пришла к выводу, что выпуск Apple Watch с поддержкой Android невозможен из-за технических ограничений. Поэтому от этой идеи руководству компании пришлось отказаться.

По информации обозревателя Bloomberg Марка Гурмана, внутри Apple некоторое время работала команда Project Fennel, цель которой было распространить возможности Apple Watch и функций по отслеживанию здоровья и физической активности на сторонние платформы, включая приложение «Здоровье» для Android. Технически совместимость была почти реализована, но компания закрыла проект из‑за деловых соображений.

По словам источника Гурмана, руководство Apple посчитало, что Apple Watch являются драйвером продаж iPhone. А реализация совместимости с Android снизит ценность собственного смартфона компании у потребителей. 

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Epic Games объявила о планах открыть магазины приложений для Android и iOS. Компания намерена брать комиссию в размере 12%, что меньше 30%, которые взимают Apple и Google.

Ранее Epic подала в суд на Apple и Google, обвинив их в антиконкурентном поведении относительно магазинов мобильных игр. Генеральный директор компании Тим Суини раскритиковал модель распределения доходов в соотношении 70% к 30%, которую установили ответчики.

Принятие Закона о цифровых рынках ЕС, который заработал в марте, открыло для Epic возможность запустить собственные магазины приложений и предложить разработчикам более выгодные условия.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Много внешних библиотек

by Dolgo.Polo Dev

После появления более трех модулей в приложении становится сложновато отслеживать, какие либы и какой версии были подключены

Существует несколько способов их упорядочить:

 • общий модуль с зависимостями

подключение библиотек обычно осуществляется через ключевое слово implementation оно подключает библиотеку только в текущий модуль

но если заменить его на api (например, api "androidx.core.coroutine:1.0.0"), то доступ к библиотеке получат все модули, которые подключат текущий модуль

минусы: чтобы расфасовать библиотеки по группам, нужно создавать несколько модулей-хранителей. больно

 • отдельный gradle-файл

создаем пустой gradle-файл. например, dependencies.gradle

записываем в него версии и названия либ через создание переменных:

ext.libs {

myLibVersion : "1.1.1",

myLib : "androidx.my.lib:$myLibVersion"

}

подключаем в нужный gradle-файл созданный список:

apply from: "${project.rootDir}/dependencies.gradle"

готово, можно подключать библиотеку, используя переменные из dependencies.gradle:

implementation libs.myLib

 • version catalog

тот же фокус, что и с отдельным gradle-файлом, но с другим синтаксисом и .toml файлами

• gradle plugin

если в двух словах — тут можно написать все на чистом Kotlin

наследуемся от org.gradle.api.Plugin<*> и... конфигурируем проект под себя

а после в нужном gradle-файле подключаем плагин через

plugins {

'my-custom-plugin'
}

....

другие посты

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Платформенные интеграции во Flutter

Интеграция нативных SDK в Flutter-приложение — классный способ использовать функции и возможности, недоступные во Flutter. Для этого используют Platform Channels, которые позволяют Flutter общаться с нативной частью приложения — отправлять и получать сообщения.

Источник изображения тут

Platform Channels — мостики, которые позволяют запускать нативный код из Flutter-приложения. Стандартный декодер обеспечивает эффективную двоичную сериализацию простых значений типа JSON. Сюда относятся логические значения, числа, строки, массивы байт, а также списки и мапы.

Сперва нужно выбрать тип канала в зависимости от потребностей:

  • MethodChannel: используют в большинстве случаев, когда вызов метода во Flutter запускает нативный метод. Поддерживает асинхронные вызовы методов.

  • EventChannel: для передачи потоков данных из нативного кода во Flutter.

  • BasicMessageChannel: для отправки простых сообщений между Flutter и нативным кодом.

Для интеграции нативных SDK чаще всего используют MethodChannel:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

class CartPage extends StatelessWidget {
  static const MethodChannel _channel = MethodChannel('co.wawand/stripe');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      // Widget...
    );
  }
}

Подробнее о том, как как работает интеграция нативных SDK для iOS и для Android и с какими особенности платформ вы можете столкнуться, читайте в нашем переводе.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Android — background / backgroundTint / backgroundTintMode vs tint / tintMode

by Dolgo.Polo Dev

Овладев этими параметрами View, вы перестанете хранить несколько экземпляров иконок, покрашенных в разные цвета, и сэкономите время на создании одинаковых по форме, но отличающихся по цвету drawable-ресурсов

android:background = цвет, картинка, иконка, фигура или селектор, описанный в xml-файле

android:backgroundTint = цвет, который будет накладываться на background

android:backgroundTintMode = способ смешения цветов

Например, выбрав tintMode, можно определить, будут ли смешиваться альфа-каналы (прозрачность) заданного цвета и ресурса из background.


Также можно задать tintMode, который позволит полностью игнорировать исходный цвет ресурса, заданного в поле background.

Но перекрашивать можно не только background. Например, можно менять цвет ресурса, заданного атрибутом android:src

В этом случае нам понадобятся:

android:tint — цвет, который будет накладываться на src
android:tintMode — способ смешения цветов

Если минимальная версия sdk не позволяет использовать эти атрибуты, можно установить их через библиотеку AppCompat — достаточно заменить префикс android на app (например, app:tintMode)

Вывод: не стоит дублировать ресурсы одной формы — можно хранить их в одном экземпляре, например, черного цвета, а там где нужно — перекрашивать его

остальные посты в tg

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Автоподстановка кода из SMS на Android

by Dolgo.polo Dev Android

Есть такая магия — SMS приходит на телефон, а приложение его автоматически читает и подставляет в поле для ввода OTP (one-time password)

На первый взгляд механизм понятен:

система получает SMS -> кидает Intent в приложение -> Broadcast Receiver получается Intent с текстом SMS

Но есть подвох — это опасно. Если все приложения будут получать этот Intent, то они смогут перехватить OTP (читать "аккаунт украден")

Поэтому вводятся дополнительные степени защиты

Первая:

  1. Ограничение по времени — приложение получает Intent только в течение 5 минут после начала ожидания OTP

А вторая на выбор:


2.1 Или показываем пользователю системную диаложку "Вы ТОЧНО хотите вставить этот код в это приложение?"
2.2 Или в SMS должен быть зашит hash-код приложения

Подход 2.1 называется One-tap SMS verification (потому что требует от юзера одного нажатия на кнопку "да, ТОЧНО"

Подход 2.2 вообще не требует от юзера тапов

hash-код для 2.2 формирутеся из подписи приложения и заранее сообщается бекенду, который отправляет SMS

бекенд вставляет hash-код в конец текста SMS

Например,

"Никому не сообщайте код 110011, Ваш Банк? Sdnjh!a+iDn",
где Sdnjh!a+iDn — hash-код приложения

остальные посты об Android

Теги:
Всего голосов 5: ↑4 и ↓1+3
Комментарии11

Разработчики «Google Телефон» (номеронабирателя по умолчанию на многих смартфонах на Android) тестируют на ограниченной группе пользователей возможность отображения в приложении истории звонков из мессенджера WhatsApp.

Согласно скриншоту одного из тестеров, в бета‑версии «Google Телефона»
(124.0.608 164 421-publicbeta) в истории вызовов отображается звонок через WhatsApp, а также возможно прямо с его экрана набрать того же абонента по голосовой или видеосвязи или отправить текстовое сообщение.

Теги:
Рейтинг0
Комментарии0

Некоторые могут помнить, как в комментариях под одной из своих статей на тему Unsafe в Android я писал, что занимаюсь портированием FFM API на эту платформу. Не так давно API окончательно вышло из предварительного доступа и стало полноправной частью JDK 22. Я поймал за хвост вдохновение и с утроенными силами начал писать код и придумывать как перенести непереносимое. Так начались поиски способа рантайм генерации нативного кода под любую из поддерживаемых андроидом архитектур, и он был найден! Выходом стала системная библиотека libLLVM.so, которая умеет делать всё, что мне нужно. Осталось лишь подключить её к java коду без готового линкера. После серии экспериментов и кучи кода родилось это:

На данном скриншоте видно тестовый запуск генерации простенькой функции с выводом полученного машинного кода (он парсится из выходного ELF файла). Я планирую использовать что-то подобное как часть линкера для FFM API.

В общем, работа кипит, и никакие преграды не страшны, если хорошенько постараться. В будущем надеюсь осилить написание цикла статей про нюансы разработки, с которыми пришлось столкнуться.

Если вас заинтересовала тема, за процессом можно следить на github`е проекта

Теги:
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

«Сбер» посоветовал пользователям Android‑устройств обновить приложение «СберБанк Онлайн». Сделать это необходимо уже сейчас, потому что в ближайшие дни у клиентов с устаревшими версиями, которые запускались в течение 2022 года, работа приложения будет ограничена. Это версии приложения от 12.14 до 14.6.

Банк также рекомендует обновить приложения, установленные в 2023 году. Это версии от 14.7 до 14.9. Узнать, какая версия приложения установлена на смартфоне, можно при входе в приложение, номер отображается на экране ввода пароля внизу. Также эта информация доступна в разделе «Профиль» — «О приложении».

Обновить приложение можно всего за несколько минут любым удобным способом: в магазинах приложений RuStore (для устройств любых производителей), GetApps (для Xiaomi), AppGallery (Huawei) и Galaxy Store (Samsung) или на сайте банка.

«Сбер» постоянно говорит своим клиентам о необходимости обновлять «СберБанк Онлайн» сразу после появления новой версии. Это помогает приложению работать быстрее и стабильнее, а пользователям становятся доступны все новые функции и возможности. В 2024 году банк выпустил три версии приложения «СберБанк Онлайн» для Android‑устройств, самой актуальной является версия 15.5, выпущенная 19 февраля.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Телевизоры на Android TV ждет масштабное изменение

Систему сделают удобнее. Заметно преобразится домашний экран.

Google добавит новую панель на рабочий стол операционной системы Android TV для телевизоров. Об этом компания сообщила на официальном сайте тех. поддержки.

Под строкой с любимыми приложениями разместят пять новых кнопок. Они помогут быстрее определиться с тем, что стоит посмотреть.

Первая кнопка — «Включить дальше», которая позволяет выбрать контент из различных приложений на телевизоре. Дальше следуют «Бесплатные каналы», «Самые продаваемые фильмы» и «Популярные фильмы и шоу». Последняя кнопка в списке — «Тренды Google». С ее помощью можно быстро ознакомиться с популярным контентом.

Пока что обновление доступно только для пользователей на территории США. В Google не уточнили, когда новая функция появится у зрителей из других стран. Также в компании не раскрыли внешний вид каждого нового раздела.

Ранее опубликовали список устройств Samsung, которые получат обновление операционной системы Android 15. Свежую ОС смогут установить пользователи около 40 смартфонов Galaxy и почти 10 планшетов Galaxy Tab.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

16 февраля 2024 года вышла первая предварительная версия Android 15 для разработчиков. Проект доступен только на смартфонах и планшетах Pixel (6/6 Pro/6a/7/7 Pro/7a/Tablet/Fold/88 Pro). Также Developer Preview можно протестировать через эмулятор Android Studio.

Обновления в Android 15 Developer Preview 1:

• регулировка яркости в панели быстрых настроек теперь работает с тактильной отдачей при перемещении ползунка;

• можно отключить виброотклик при работе с виртуальной клавиатурой;

• функция «Снижение громкости уведомлений» для приложений, которые присылают много оповещений подряд;

• появились новые варианты взаимодействия с программной платформой на устройствах с гибким дисплеем;

• внесен ряд оптимизаций для снижения энергопотребления ресурсоемких приложений; повышена энергоэффективность для приложений, долго работающих в фоновом режиме;

• новая версия Privacy Sandbox для ограничения работы приложений с таргетированной рекламой;

• новая объединенная платформа Health Connect, FileIntegrityManager с fs-verity в ядре Linux (криптошифрование для защиты данных);

• теперь можно демонстрировать только экран приложения, а не всего интерфейса устройства;

• различные улучшения для разработчиков.

Процесс тестирования Android 15 разбит на три этапа: Developer Preview — два релиза (в феврале и марте); Beta — два релиза (в апреле и мае); Platform Stability — два релиза (в июне и июле).

Финальная версия Android 15 выйдет в конце лета или начале осени 2024 года.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

В 16:00 начинаем  вебинар по удаленному тестированию мобильных приложений.

Присоединяйтесь! Все участники получат возможность записаться на бета-тест нового продукта — фермы мобильных устройств.

Подробнее о программе вебинара →

Смотрите трансляцию прямо в этом посте или переходите на YouTube.

Теги:
Всего голосов 24: ↑24 и ↓0+24
Комментарии2

Разработчик Google раскрыл в трекере кода Android Open Source Project, что первая тестовая версия Android 15 выйдет 15 февраля.

Новый релиз получил кодовое название Android V (сокращённое название следующей версии операционной системы под кодовым именем Vanilla Ice Cream).

Первая тестовая сборка Android 14 вышла 8 февраля 2023 года. Раунд тестирования Developer Preview обычно включает несколько промежуточных нестабильных релизов, которые предназначены только для разработчиков приложений. Ожидается, что в конце весны начнётся этап бета-тестирования новой ОС.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Как ускорить тестирование мобильных приложений?

Привет! 14 февраля мы проведем вебинар по удаленному тестированию мобильных приложений. Покажем, как проводить параллельные тесты из любой точки мира. Без закупки техники и настройки инфраструктуры. Расскажем, как использовать ферму мобильных устройств для мануального тестирования и автотестов.

Регистрация на вебинар →

Теги:
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Обновление Pixel от Google добавляет несколько новых функций. Так, Circle to Search позволяет выделить контент, чтобы получить дополнительную информацию. Функция активируется, если зажать кнопку «Домой» или панель навигации.

Pixel 6 и новее смогут использовать Magic Compose, чтобы переписать черновик сообщения в разных стилях с помощью ИИ. В случае с Pixel 8 Pro эта обработка происходит на устройстве, но другие телефоны смогут использовать облако.

Опцию Nearby Share переименовали в Quick Share, но её функциональность осталась прежней.

Google также добавит фотомоджи в приложение «Сообщения». Они позволят превращать фотографии в реакции с помощью ИИ. Для этого понадобится выбрать снимок, выделить на нём объект для реакции и нажать «Отправить». Фотомоджи будут сохраняться в отдельной вкладке для повторного использования.

В Pixel Watch же появится автоматическое переключение звука. 

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

WhatsApp может предложить новый способ обмениваться файлами с людьми поблизости. Новую функцию нашли в бета-версии приложения для Android 2.24.2.20.

wabetainfo.com
wabetainfo.com

На скриншоте видно, что оба пользователя должны будут открыть раздел People Nearby для отправки и получения файлов. Похоже, что для создания запроса на общий доступ потребуется встряхнуть устройство. Обмен данными будет осуществляться с использованием сквозного шифрования. 

Функция станет доступна в будущем обновлении приложения. 

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Компания Cappella представила одноимённое приложение, которое «переводит» плач грудных детей, если они испытывают дискомфорт, устали, голодны или нуждаются в смене подгузника. Демонстрация решения состоялась на выставке CES 2024 в Лас-Вегасе.

Приложение использует искусственный интеллект и машинное обучение для расшифровки потребностей младенца. Компания уверяет, что точность её технологии составляет 95%. Если пользователь не согласен с оценкой потребностей ребёнка Cappella, то он может уведомить компанию об этом через приложение.

Cappella также работает над опцией, которая будет учитывать параметр того, холодно ли ребёнку или жарко. Стоимость подписки на сервис составляет $10 в месяц. Приложение доступно как в App Store, так и в Google Play.

В прошлом году на CES 2023 Quantum Music представила устройство на базе ИИ с аналогичным функционалом — Qbear+. Гаджет умеет определять потребности ребёнка, а также автоматически воспроизводить расслабляющую музыку. Однако в случае с Cappella родителям не придётся приобретать новое устройство, а лишь оплатить приложение на своём смартфоне.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

30 ноября 2023 года из магазинов приложений Google Play и App Store удалили мобильные приложения «Почта банка», «Абсолют банка», «Хоум банка», банка «Русский стандарт», а также ВБРР (Всероссийский банк развития регионов). Эти кредитные организации в начале ноября попали под ограничительные санкции США. Мобильные приложения банков больше нельзя скачать из зарубежных магазинов приложений, в разделе покупок их тоже нет.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0