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

TextView и Spannable: выделение частей слова - 1

Привет, Хабрамир!

Меня зовут Оксана и я Android-разработчик в небольшой, но очень классной команде Trinity Digital.

Сегодня я буду рассказывать про маленькую часть большого проекта.

Проект зовется “Школа 2100” и представляет собой коллекцию электронных учебников с разными фичами: поиском, закладками-заметками, дополнительными материалами, тестовыми заданиями, etc. И как раз в том, что названо “тестовыми заданиями” кроется предмет обсуждения.

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

Как Android преобразует размеры ресурсов - 1Размер APK файла можно уменьшить, выкинув «ненужные» LDPI ресурсы, Android все равно умеет генерировать их на лету из MDPI. Но что будет если убрать еще и MDPI каталог? И как именно будет произведена свертка: усреднением или более дешевым выбрасыванием пикселей? Перескочит ли Android через один шаг чтобы произвести потенциально более простое преобразование HDPI -> LDPI? Как именно происходит уменьшение картинок в разных случаях? Чтобы ответить на эти вопросы я провел небольшой тест.

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

Данные, которые собирает AppMetrica, можно заставить работать как угодно, а не только для аналитики. Они позволяют автоматизировать множество процессов, прямо или косвенно связанных с поведением пользователей. О том, как настроить выгрузку, что за данные можно использовать и какие подводные камни встретились при разработке Logs API, рассказал разработчик Николай Волосатов.

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

Специалисты ESET обнаружили Android/DoubleLocker – первый шифратор, использующий службу специальных возможностей Android Accessibility Service. Малварь не только шифрует данные, но и блокирует устройство.

DoubleLocker построен на базе банковского трояна, использующего службу специальных возможностей ОС Android. Тем не менее, DoubleLocker не имеет функций, связанных со сбором банковских данных пользователей и стирания аккаунтов, вместо этого в нем предусмотрены инструменты для вымогательства.

DoubleLocker: первый шифратор, использующий службу специальных возможностей Android Accessibility Service - 1

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

Бывший разработчик операционной системы на базе Android Cyanogen, сменивший название на Cyngn, намерен заняться разработкой решений для беспилотных автомобилей, пишет издание Axios.

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

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 и логики проекта доступна по ссылке внизу.
Читать полностью »


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