Рубрика «android» - 89

10 октября «Яндекс» запустил голосового помощника «Алису» в мобильном приложении. Алиса — первый голосовой помощник, который в разговоре не ограничивается шаблонными ответами. Она поможет найти информацию в интернете, подсказать погоду, открыть вместо вас приложение или сайт и просто поболтать. Приложение «Читать полностью »

Я уже рассказывал ранее на примере Android SDK, как не ограничиваясь фреймом и WebView, встроить нативную форму приема платежей по банковской карте в мобильное приложение, и при этом не попасть под аудит PCI DSS. С тех пор наше SDK довольно существенно расширилось и к обычной форме ввода карты в Android и iOS добавился такой функционал:
— React Native библиотека для Android и iOS
— кастомизация верстки layout формы с реквизитами карты
— функция оптического сканирования карты
— прием бесконтактных платежей в Android по технологии NFC
В этой публикации я расскажу что вообще можно делать с платежами в мобильных приложениях, какие есть лайфхаки и подводные камни, и напоследок приведу пример кода демо-приложения и расскажу, как списать карточный долг с друга при помощи NFC ридера своего смартфона.
Как принимать платежи в мобильном приложении: токенизация, NFC, оптическое сканирование и другие плюшки в одном SDK - 1
Читать полностью »

image

В компании «Agoda» мы уделяем много внимания различным видам тестирования нашего кода. Это помогает нам гарантировать его стабильность и находить возможные проблемы продукта на раннем этапе.

В данный момент, тестирование пользовательского интерфейса на Android для нас является небольшим персональным филиалом ада. Google предоставляет нам Espresso вместе с несколькими расширениями, UI автоматор и так далее. И хоть инструменты отлично справляются c возложенной на них задачей, делают они это не очень красиво. Когда вам нужно протестировать кейс, отличающийся от простого клика по кнопке, ваш тестовый код превращается в месиво, сложно поддающееся чтению. Просто взгляните:

@Test
public void espressoTest() {
  onView(allOf(allOf(withId(R.id.label_bf_hotelname), 
        isDescendantOfA(withId(R.id.custom_view_trip_review))), 
        isDescendantOfA(withId(R.id.contentView))))
        .check(matches(withEffectiveVisibility(View.VISIBLE)));
}

Для меня этот код выглядит малочитаемым. Очень сложно поддерживать работу более чем 1000 UI тестов нашего Android приложения с подобным синтаксисом. Но Google объявила официальную поддержду языка Kotlin как языка для Android разработки на конференции Google I/O 2017. Тогда то мы и подумали: «А ведь мы можем попробовать мигрировать наши тесты на Kotlin!»

Но просто трансляция кода из Java в Kotlin не решает нашу проблему с читаемостью тестов, так как мы все еще зависим от Espresso. К счастью, Kotlin предоставляет нам множество инструментов для создания DSL. Имея это ввиду, мы представили как наши UI тесты должны выглядеть на Kotlin'е. Мы хотели, чтобы тест выше выглядел вот так:

@Test
fun espressoTest() {
  screen { hotelName { isVisible() } }
}

Выглядит здорово, вы так не считаете? Гораздо более читаемый и с легкостью понимаемый код, чем при использовании Espresso. И в большинстве ситуаций более компактный. Удалось ли нам добиться такого синтаксиса? Еще как!
Читать полностью »

Security Week 40: Yahoo, не утекай, Google конопатит дыры, как Netgear баги ловит - 1«Три, три миллиарда учетных записей Yahoo! — все, что нажито непосильным трудом, все погибло», — сообщила (ну, не дословно, конечно) компания Verizon, которая после покупки ИТ-гиганта произвела ревизию в его сильно запущенном хозяйстве. Впрочем, дело о взломе Yahoo тянется еще с прошлого года и стартовало с каких-то 200 миллионов пользовательских учеток, выставленных на продажу в дарквебе в августе 2016-го. Месяцем позже Боб Лорд, CISO компании, слегка скорректировал эту цифру, уведомив общественность о краже уже 500 миллионов аккаунтов. А к декабрю, как следует собравшись, решительно заявил, что на самом деле речь идёт о миллиарде. Наконец, за аудит берется Verizon и сообщает, что «все уже украдено до нас» — все 3 миллиарда аккаунтов, чуть ли не полмира пострадало, да что же это делается, граждане?!

Как теперь выясняется, паслись в закромах Yahoo минимум дважды: первый раз в августе 2013-го, второй — годом позже. Однако только в 2016 году Yahoo уведомила о самих фактах взлома. Кто причастен к этой утечке — одна группа или несколько — также пока не сообщается, но, как водится, неких «госхакеров» уже обвинили. Согласно отчету Yahoo, атакеры смогли взять под контроль процесс, генерящий аутентификационные кукисы, и в результате использовали его для доступа в систему без аутентификации.

Yahoo утверждает, что в украденных данных нет незашифрованных паролей и платежных данных. Хакерам достались лишь имена, адреса электронной почты, телефонные номера, даты рождения, хеши паролей и ответы на секретные вопросы. Лишь. Сущие пустяки.
Читать полностью »

OpenCV. Поиск дорожных знаков методом контурного анализа в Android - 1Привет!

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

Почему контурный анализ?

Контурный анализ имеет довольно слабую устойчивость к помехам, но простота и быстродействие позволили вполне успешно применить данный подход.

Однако, на практике оказалось довольно непросто реализовать поиск нужных коэффициентов на платформе Android (Виджеты OpenCV применять не пробовал, вместо этого разделил экран на фреймы, где слева настройки, справа видеопоток с задней камеры). Конкретная реализация UI и логики проекта доступна по ссылке внизу.
Читать полностью »

В статье рассматривается архитектура и API для создания приложений, воспроизводящих музыку. Мы напишем простое приложение, которое будет проигрывать небольшой заранее заданный плейлист, но «по-взрослому» — с использованием официально рекомендуемых практик. Мы применим MediaSession и MediaController для организации единой точки доступа к медиаплееру, и MediaBrowserService для поддержки Android Auto. А также оговорим ряд шагов, которые обязательны, если мы не хотим вызвать ненависти пользователя.

Читать полностью »

Не так давно компания Xiaomi начала (поддавшись тренду) ставить в свои смартфоны действительно неплохие сдвоенные камеры. При этом (что ценно) по сравнению с корейцами, устанавливает одни и те же модули не только в топы, но и в относительно бюджетные линейки, в том числе в Xiaomi Mi 5X, который также выпускается с «чистым андроидом» под маркой Xiaomi A1. Стоимость его в варианте с 32 Гбайт составляет на момент публикации около 220$, а в варианте с 64 Гбайт — около 250$ (смотрите актуальные цены на Xiaomi Mi 5X 32 Гбайт, Xiaomi Mi 5X 64 Гбайт, Xiaomi Mi A1 64 Гбайт серебристый, и Xiaomi Mi A1 64 Гбайт черный.

Обзор недорогого смартфона с хорошей для этой цены камерой. Изучаем Xiaomi Mi 5X (он же A1) - 1
Читать полностью »

Мобильный DevOps. Интервью с Jing Li - 1

Так получилось, что инструменты DevOps обычно иллюстрируются на примере CI/CD какого-то масштабного веб-сервиса. Отчасти так получилось по историческим причинам, отчасти свою роль сыграли замечательные книги типа Google SRE Book.

К черту, давайте посмотрим на что-нибудь действительно новое. На Mobius 2017 к нам приезжает Jing Li из Viacom, с докладом “Android meets Docker”.

Накануне конференции, удалось найти несколько минут в его плотном графике и задать пару вопросов. В этом интервью Jing рассказывает о DevOps в мобильной разработке, приводит примеры задач, и дает конкретные рекомендации по улучшению вашего DevOps процесса.

Читать полностью »

О чем болит голова Android DevOps-инженера - 1

Так получилось, что инструменты DevOps обычно иллюстрируются на примере CI/CD какого-то масштабного веб-сервиса. Отчасти так получилось по историческим причинам, отчасти свою роль сыграли замечательные книги типа Google SRE Book.

К черту, давайте посмотрим на что-нибудь действительно новое. На Mobius 2017 к нам приезжает Jing Li из Viacom, с докладом «Android meets Docker».

Накануне конференции удалось найти несколько минут в его плотном графике и задать пару вопросов. В этом интервью Jing рассказывает о DevOps в мобильной разработке, приводит примеры задач и дает конкретные рекомендации по улучшению вашего DevOps процесса.

Читать полностью »

Презентация Made By Google 2017 [архив текстовой трансляции] - 1

Ровно год назад Google показала первые смартфоны линейки Pixel и умную колонку Home. Сегодня, 4 октября, в 19:00 по московскому времени компания обещает провести некое мероприятие. Нетрудно угадать, какие устройства на нём представят.

Кроме обновления очков виртуальной реальности Daydream, смартфонов Pixel 2, небольшой умной колонки Home Mini сегодня могут показать ноутбук Chromebook Pixel 3 и новый софт. Под катом находится текстовая трансляция презентации.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js