Как стать автором
Обновить
46
0
Макс Ровкин @andreich

senior android developer

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

Погружение в Async-Await в Android

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

В предыдущей статье я сделал беглый обзор async-await в Android. Теперь пришло время погрузиться немного глубже в грядущий функционал kotlin версии 1.1.


Для чего вообще async-await?


Когда мы сталкиваемся с длительными операциями, такими как сетевые запросы или транзакции в базу данных, то надо быть уверенным, что запуск происходит в фоновом потоке. Если же забыть об этом, то можно получить блокировку UI потока еще до того, как задача закончится. А во время блокировки UI пользователь не сможет взаимодействовать с приложением.

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

Беглый взгляд на Async-Await в Android

Время на прочтение3 мин
Количество просмотров12K
От переводчика

Это мой первый перевод, поэтому прошу прощения за неточности. Если вы найдете ошибки в переводе, пожалуйста, сообщите об этом. Я не нашел лучшего перевода слова сoroutine, чем сопрограмма, поэтому решил использовать оригинал. Если у вас появятся идеи по этому поводу, буду рад узнать.


Kotlin версии 1.1 принесет в язык coroutin'ы, которые позволяют приостанавливать вычисления в какой-то точке, а затем продолжить их позднее. Очевидный пример этой возможности — async-await, который был добавлен в C# несколько лет назад.


Каждый android разработчик знает, что когда мы имеем дело с сетевыми запросами или другими I/O задачами, то нам необходимо удостовериться, что не происходит блокировка основного потока, а так же, что мы не трогаем UI из фонового потока. На протяжении многих лет приходят и уходят десятки приемов. В этой статье перечислены наиболее популярные, и показаны примеры удобства, которое несет с собой async-await.

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

Уязвимость Account Manager в Android, о которой необходимо знать

Время на прочтение3 мин
Количество просмотров20K
Приветствую тебя, дорогой читатель! Многие разработчики используют возможности Account Manager(AM) в своих приложениях. И правильно делают, ведь этот инструмент позволяет упростить некоторые вещи. Он позволяет хранить пароль, токен, да и в принципе любые строковые данные юзера. Так же позволяет автоматически обновлять токен, если тот протухает, и много других полезных штук. Но у этого удобства есть и другая сторона — безопасность. Из-за этого собственно я и написал данный текст.

Раз AM позволяет хранить такие важные данные как пароль и токен, то наверно он просто обязан это делать безопасно, ведь если они утекут, то ничего хорошего не получится. Вы можете сказать, что на рутованых андроид девайсах ничто не хранится безопасно, и я тут соглашусь. Однако если бы все ограничивалось только рутом, то не читать бы вам сие «произведение». Чтобы рассказать, ради чего мы тут собрались, я начну с самого начала.

Делаем parallax header в RecyclerView

Время на прочтение5 мин
Количество просмотров18K
Приветствую!
С приходом material дизайна приходят и новые элементы. Например, появился RecyclerView, который многим уже известен. Про него на хабре писали не раз: тыц, туц.

Вроде как пользоваться им — понятно, но ведь хочется большего. Обычно при переходе на новые альтернативы чего-то не хватает. Вот и мне не хватило того, что есть. Понадобилось мне сделать parallax эффект, как в Google Play на странице конкретного приложения. Реализации для ListView и ScrollView имеются. Поискал я в великом и могучем, и все, что нашел — этот репозиторий. Решение вроде рабочее, да и народ пользуется. Однако мне не понравилось его юзабилити. И как водится, решил написать свое.
И что же вышло!?

Ведение независимого времени на android девайсе

Время на прочтение5 мин
Количество просмотров17K
Здравствуйте!

В один прекрасный день приходит ко мне менеждер и говорит: «Можем ли мы запретить пользователю менять время на телефоне?». И конечно же ответ мой был нет, но это не решало задачу. Необходимо было искать выход из ситуации.
Критерии для решения были следующими:
  • должно работать без частых синхронизаций с сервером, например, достаточно взять время раз в месяц.
  • должно быть устойчиво к переводу времени назад/вперед/смене часового пояса
  • работать при перезагрузке устройства/неожиданном завершении/ вытаскивании батареи
  • не отклоняться от эталонного времени на слишком большие значения, в моем случае было 5 минут.
  • если все же удалось обмануть, то отслеживать этот момент


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

Посмотреть, что вышло

Определение местоположения пользователя с помощью Сервисов Google Play

Время на прочтение3 мин
Количество просмотров43K
Добрый день, Друзья!

Вопрос определения местоположения пользователя на максимальном количестве девайсов мучил меня примерно полгода. Дело доходило даже до велосипедов, описанных тут и тут. Дело было в том, что находились устройства, на которых местоположение не определялось, по неизвестной причине, однако другие приложения работали вполне хорошо. Очередной раз, копаясь в коде и рыская в просторах гула в поисках того, что я упускаю, и реализации, которой я еще не опробовал, наткнулся на свеженькую статью-мануал от google и, о боги(!), это заработало.
Прошу внутрь

Где в России из бакалавра качественно прокачаться до IT-магистра?

Время на прочтение3 мин
Количество просмотров35K
Привет всем хаброжителям.
Перечитывал инфу об IT-образовании, ибо в последнее время оно меня сильно беспокоит: всего год остался до того, как я напишу (!!!) диплом, а потом стану бакалавром математики. Вот наткнулся тут на статью, как раз про меня и мне подобных написанную:
Она задела за живое. И я решил по ее мотивам накатать свою, как продолжение размышлений – куда податься IT-бакалаврам. На мой взгляд, обучение в IT-магистратуре – неплохая перспектива. Но только, думается мне, не все магистратуры одинаково полезны, а только те, которые могут дать действительно качественную подготовку, чтобы потом еще и работать хотелось и моглось.
Рассудив, что хорошую практику могут дать только хорошие практики, я отправился в пучины мировой сети, чтобы найти в России (я пока что не очень-то хотел бы сваливать за бугор), магистратуры, поддерживаемые серьёзными IT-конторами.
В течение нескольких часов честно смотрел, что выпадает в поисковиках по запросам: «IT магистратура», «магистратура IT» и подобным ключевым словам.
И вот сделал из всего собранного мной такую табличку:
Читать дальше →

3D иллюзии

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

Общее:


Madonnari — один из видов уличного искусства, очень популярного в мире. Рисунки сделаны на тротуаре и искажены таким образом, что появляется иллюзия трехмерного объекта, когда смотришь на рисунок с определенной точки. Многие художники используют методы, разработанные еще в шестнадцатом веке, чтобы делать такие рисунки.
Читать дальше →

Информация

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