Как стать автором
Обновить
0
Konstantin @LoadKonstread⁠-⁠only

Пользователь

Отправить сообщение

Обзор Android Shortcuts

Время на прочтение8 мин
Количество просмотров29K
С версии ОС Android 7.1 (API 25) Google предлагает нам новый механизм работы с приложениями — Android Shortcuts. Мы написали краткий обзор этой фичи, созданной для удобства пользователей.

image

Общий обзор


В переводе с английского «shortcut» — кратчайший путь, такое название хорошо отражает основное предназначение шорткатов. Они позволяют нам попасть в какую-то определенную точку приложения и выполнить конкретное действие всего за пару нажатий. Шорткаты неплохо смотрятся, например, если пользователю надо:

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

7 сервисов для поиска уязвимости мобильных приложений

Время на прочтение4 мин
Количество просмотров43K


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

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

В 59% финансовых приложений для Android есть три уязвимости из списка OWASP Топ-10.

Чем больше используют мобильные телефоны, тем больше появляется мобильных приложений. В магазине приложений Apple App Store доступно более 2 миллионов приложений, а в Google Play Store — более 2,2 миллионов.
Читать дальше →

Грокаем RxJava, часть четвертая: Реактивный Android

Время на прочтение6 мин
Количество просмотров86K
В первой, второй и третьей частях я объяснил в общих чертах устройство RxJava. Вы можете подумать: «Прекрасно, но как всё это сделать полезным для меня, как для разработчика под Android?» В заключительной части статьи я приведу некоторую информацию, практичную именно для вас.

RxAndroid


RxAndroid — это расширение RxJava, написанное специально для Android, которое включает в себя специальные обвязки вокруг RxJava, делающие вашу жизнь проще.

Во-первых, здесь есть класс AndroidSchedulers, предоставляющий готовые планировщики для потоков, специфичных для Android. Нужно запустить код на UI потоке? Без проблем — воспользуйтесь AndroidSchedulers.mainThread():

retrofitService.getImage(url)
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(bitmap -> myImageView.setImageBitmap(bitmap));
Читать дальше →

Грокаем RxJava, часть третья: Реактивность с пользой

Время на прочтение5 мин
Количество просмотров50K
В первой части мы прошлись по основам RxJava. Во второй части я показал вам потенциал операторов. Но, быть может, всего показанного мною всё ещё недостаточно для того, чтобы убедить вас. В таком случае я покажу вам ещё несколько полезностей RxJava, которые должны стать решающим аргументом в мою пользу.

Обработка ошибок


До настоящего момента мы полностью игнорировали такие методы Observable, как onComplete() и onError(). Данные методы вызываются в момент, когда Observable прекращает порождать новые данные — либо потому, что ему нечего больше порождать, либо потому, что произошла ошибка.
Самый первый наш Subscriber следил за onCompleted() и onError(). Давайте сделаем что-нибудь полезное в этих точках:

Observable.just("Hello, world!")
    .map(s -> potentialException(s))
    .map(s -> anotherPotentialException(s))
    .subscribe(new Subscriber<String>() {
        @Override
        public void onNext(String s) { System.out.println(s); }

        @Override
        public void onCompleted() { System.out.println("Completed!"); }

        @Override
        public void onError(Throwable e) { System.out.println("Ouch!"); }
    });

Читать дальше →

Грокаем RxJava, часть вторая: Операторы

Время на прочтение6 мин
Количество просмотров95K
В первой части мы с вами рассмотрели основные строительные блоки RxJava, а также познакомились с оператором map(). Я могу понять тех из вас, кто всё ещё не чувствует желания всё бросить и начать использовать этот фреймворк, так как пока что мы, условно выражаясь, рассмотрели лишь вершину айсберга. Но скоро всё переменится — большая часть всей мощи RxJava скрывается в её операторах, и я как раз подготовил для вас пример, по которому можно изучить некоторую их часть.
Читать дальше →

Закруглённые изображения на Qt Quick Scene Graph

Время на прочтение7 мин
Количество просмотров13K

Я использую Qt в разработке уже более 6 лет, из них последние 3 года для создания приложений под Android и iOS на Qt Quick. Моя приверженность этому framework'у обусловлена двумя причинами:


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

К примеру, в Qt Quick есть компонент Image, который размещает изображение в интерфейсе. Компонент имеет множество параметров: расположение, способ масштабирования, сглаживание и др, но нет параметра radius для скругления изображения по углам. В то же время круглые изображения сейчас можно встретить, практически, в любом современном интерфейсе и из-за этого возникла потребность написать свой Image. С поддержкой всех параметров Image и радиусом. В этой статье я опишу несколько способов сделать закруглённые изображения.


Читать дальше →

Clean Recycler Adapter. Часть 1

Время на прочтение18 мин
Количество просмотров15K

Введение




Списки, списки, списки… Вертикальные, горизонтальные, комбинированные. Практически ни одно мобильное приложение не обходится без них. Более того, нередко приложения состоят из одних только списков.

И если в “однородных” списках нет ничего страшного, то разные типы ячеек уже могут вызывать вопросы, основные из которых:

  • как облегчить изменение и масштабирование типов ячеек
  • как минимизировать количество мест для изменения, снизив риск потенциальных ошибок
  • как избавиться от if-else уродства
  • как избавиться от уродливых проверок на тип и опасных приведений типов
Читать дальше →

Грокаем* RxJava, часть первая: основы

Время на прочтение7 мин
Количество просмотров179K
* от переводчика: я долго думал над тем, как перевести на русский язык глагол «to grok». С одной стороны, это слово переводится как «понять» или «осознать», а с другой стороны, при переводе романа Роберта Хайнлайна «Чужак в чужой стране» (в котором это слово впервые и появилось на свет), переводчики сделали из него русское «грокать». Роман я не читал, поэтому счёл, что есть у этого слова какие-то смысловые оттенки, которые русскими аналогами не передавались, а посему в своём переводе использовал ту же самую кальку с английского.

RxJava — это, сейчас, одна из самых горячих тем для обсуждения у Android-программистов. Единственная проблема состоит в том, что понять самые её основы, если вы не сталкивались ни с чем подобным, может быть довольно затруднительно. Функциональное реактивное программирование довольно сложно понять, если вы пришли из императивного мира, но, как только вы разберётесь с ним, вы поймёте, насколько же это круто!
Я постараюсь дать вам некое общее представление об RxJava. Задача этого цикла статей состоит не в том, чтобы объяснить всё вплоть до последней запятой (вряд ли я смог бы это сделать), но, скорее в том, чтобы заинтересовать вас RxJava, и тем, как она работает.
Читать дальше →

Как найти свою первую работу программистом? От резюме до испытательного срока

Время на прочтение9 мин
Количество просмотров237K
image

Все знают, что сейчас программирование — это супервостребованная и супероплачиваемая профессия. Но немногие знают, что вакансий для начинающих очень мало. Все работодатели хотят, чтобы к ним пришёл человек, который уже что-то умеет. Напишет код, который не надо выкидывать. Джуниорских вакансий (не требующих опыта работы) мало, и конкуренция здесь очень большая. С одной стороны, существует огромная потребность в программистах. С другой — в начале карьеры вы можете столкнуться со сложностями. Работодатели обращают внимание в первую очередь на тех, у кого в резюме уже есть строчка о прошлом месте работы. Если у вас её нет, будет сложно.

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

Итак, как же новичку получить первую работу?
Читать дальше →

Группировка оповещений в Android 7

Время на прочтение3 мин
Количество просмотров12K
После обновления на Android 7 мы заметили, что уведомления стали группироваться по приложению автоматически. Так как на момент выхода новой версии Android в нашем приложении еще не было истории уведомлений это изменение было достаточно критично — в одной группе отображается только 7 уведомлений. Это значит, что если приходит более 20 уведомлений в сутки через приложение — необходимо смахивать новые чтобы увидеть более старые.

Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.

Мы сделали группировку по каналам, это позволяет сразу видеть канал и при возможности свернуть его. Даже если канал пришлет вам 100 уведомлений — они все равно легко сворачиваются и удаляются одним движением.

В этой статье мы расскажем, почему официальный мануал не работает, и как мы нашли способ сделать все правильно.
Читать дальше →

Машинное обучение — это легко

Время на прочтение7 мин
Количество просмотров348K
В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения.
Читать дальше →

Поддержка нестандартного XMPP-протокола с помощью Smack

Время на прочтение6 мин
Количество просмотров5.2K
В одном из недавних проектов мы реализовывали взаимодействие Android-приложения с ejabberd-сервером через кастомизированный XMPP-протокол.

В этой статье приведены примеры как можно отправлять/получать кастомизированные пакеты XMPP-протокола в Android-приложении.

Для работы с XMPP протоколом была выбрана библиотека Smack 4.1.8.
Читать дальше →

Почему Hackintosh уже актуален. Развенчание мифов

Время на прочтение7 мин
Количество просмотров136K

Каждому iOS разработчику нужен свой уголок с печеньками, плюшевой уточкой и шайтан-машиной на OSX.


В свете перехода на Swift, мощность железа стала особенно востребована. Чтобы комфортно разрабатывать под айфоны, нужен как минимум процессор с частотой 3+ ghz, SSD на 120-250Gb и оперативы гигов 16. Все это как раз для того, чтобы не было желания посмотреть футбол, пока запускается проект или открывается interface builder.


А знаете, что еще было всегда актуально? Сумасшедшие цены на яблочные устройства:


image


PC с таким же, плюс-минус, железом можно запросто собрать всего за 30.000 рублей! (инфа на ноябрь 2016). Многие, конечно, думают, что раз компания покупает железо, то значит финансы бесконечные, можно не стесняться в средствах. Если вы работаете в Google, то вам повезло и жизнь хороша. Но в остальных случаях это не так.


Что же делать? Не разрабатывать же под Android в конце концов?


Под катом мы узнаем о современном Hackintosh, его роли в разработке, способам безболезненной установки и настройки, услышим мнение людей, работающих на нем не первый год, и проведем тест на iOS инструментах.


Читать дальше →

Мониторим фриланс площадки в slack

Время на прочтение4 мин
Количество просмотров12K
В этой статье мы бы хотели рассказать о нашей новой платформе Job Freelance Scanner, которая находится в свободном доступе. В поисках нового проекта порой приходится мониторить фриланс площадки на наличие подходящего предложения. Это порождает ряд проблем: поиск по разным сайтам, вбивание в поиске нужных ключевых слов, отсеивание дубликатов — все это отнимает время. Плюс, надо помнить читал ли ты это предложение. Вот было бы удобно мониторить это одним инструментом, при этом в онлайн режиме.

Наша компания занимается разработкой интеграционных решений и регулярно нуждается в поиске предложений в этой области. Таким образом, сформировалась задача: разработать платформу для мониторинга предложений о работе с крупных площадок. Платформа должна отслеживать предложения, содержащие некоторые ключевые слова, и публиковать их в slack канале.

После реализации приложения и локального запуска мы решили опубликовать его для сообщества, предоставить свободный доступ для использования, а также опубликовать исходники. В итоге, мы представляем платформу Job Freelance Scanner.

Возможности


Job Freelance Scanner — платформа для мониторинга предложений с крупных глобальных площадок по поиску работы, разработанная компанией Leadex Systems. Эта платформа позволяет получать предложения единым потоком в канал связи (Slack) от таких площадок как:


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


Читать дальше →

Введение в разработку приложений для Android TV

Время на прочтение7 мин
Количество просмотров42K
Данная статься познакомит вас с разработкой простого приложения для Android TV. В первую очередь она ориентированна на тех, кто уже имел какой-либо опыт в разработке приложений для Android, поэтому я не буду здесь объяснять что такое Activity, Fragments и т.д.

В интернете есть много русскоязычной информации по разработке приложений для Android и не мало статей по написанию HelloWord для него же. Заинтересовавшись разработкой приложений для Android TV, я сразу же начал изучать эту тему на англоязычных сайтах. К моему удивлению материала оказалось не так уж и много, и я решил посмотреть что же есть на русском. На русском ничего найти не удалось (возможно плохо искал). В общем я намерен исправить эту ситуацию.
Читать дальше →

Краткое руководство как стать Google Certified Associate Android Developer

Время на прочтение7 мин
Количество просмотров31K
image В данной статье я вкратце опишу процесс получения сертификата начинающего андроид разработчика. Разработкой под андроид я занимаюсь уже более 4-х лет, но до настоящего момента так и не удосужился обзавестись никаким соответствующим сертификатом, хотя парочкой сертификатов по Java я обзавелся. А сложилось так по одной простой причине — сертификаты андроид разработчиков выдавали какие угодно компании, кроме собственно компании разработчика этого самого Android. Вышеупомянутые Java сертификаты были выданы компанией Oracle, что делает их наличие хоть немного осмысленными.

И вот наконец свершилось — Google открыла свою программу сертификации андроид разработчиков. Но и тут не обошлось без ложки дегтя — пока доступен только сертификат начинающего андроид разработчика. Мне он в общем-то без надобности, но любопытство и тяга к коллекционированию подтолкнули меня к его получению. Полезность получения сертификатов как таковая является отличной темой для холивара. Я немного затрону этот вопрос в конце статьи, а пока перейду к описанию процесса.
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #182 (28 ноября-4 декабря)

Время на прочтение3 мин
Количество просмотров11K
На этой неделе наблюдали закат умных часов во главе с Pebble, сжимали несжимаемое, писали для телевизоров на Android, изучали инди разработку и анализировали работу психиатрической больницы. В общем, развлекались по полной — все это в новом дайджесте!

Читать дальше →

Джош Кларк: Мифы о мобильном дизайне

Время на прочтение4 мин
Количество просмотров6.5K
Сегодня мы предлагаем вниманию читателей советы от Джоша Кларка – эксперта по UX/UI, разработчика и автора пяти книг, пользующихся популярностью в международном дизайнерском сообществе. Ниже вы найдете перевод материалов из интервью дизайнера с представителями ресурса The Next Web и журнала Forbes, в которых он рассуждает о традициях и новаторстве в создании мобильных интерфейсов и критикует некоторые устоявшиеся представления о специфике UX на этом типе девайсов.


Читать дальше →

Стабилизация экрана в Android

Время на прочтение8 мин
Количество просмотров41K
image

Пробовали ли Вы читать книгу или статью вроде этой в автобусе или идя по улице? Могу поспорить пробовали! В этом случае Вы должны были заметить что чтение текста таким образом является не лучшей идеей из-за постоянной тряски. Похоже что тряска экрана является достаточно серьезной проблемой и устранение ее может дать очень хорошее улучшение UX. Моя идея состоит в том, чтоб использовать датчики ускорения для компенсации тряски так-же как зеркальные камеры стабилизируют сенсор или линзы. Технически это возможно так что почему бы не попробовать сделать это самому!

Android и «интернет вещей» стали ближе друг к другу

Время на прочтение2 мин
Количество просмотров8.1K
«Интернет вещей» мыслился своими создателями как среда, идеологически чуждая каким-либо софтверным или аппаратным ограничениям. Как говорится, как вам удобнее, так и делайте. Но вот насчет удобства те или иных решений уже можно подискутировать. Зачастую именно простота в использовании и гибкость являются определяющими при выборе той или иной платформы. Вот почему Intel, как активный участник IoT-движения, хотел бы обратить внимание на новость от коллег из Google о выходе Developer Preview средства разработки Android Things и обновлении облачного сервиса Weave. Теперь Android-устройствам, в том числе и на платформе Intel, станет гораздо уютнее находиться в «интернете вещей»


Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Псков, Псковская обл., Россия
Дата рождения
Зарегистрирован
Активность