CategoryРазработка

Kotlin — в начале было слово, тьма, объекты и коллекции

Итак, в двух словах — к Kotlin’у я подбирался довольно продолжительное время… Ну как подбирался — ошивался где-то рядом, слышал что-то краем уха, но вот сесть и попробовать не решался, да и времени свободного не находилось (отмазки, отмазки…). В мае 2017 года на Google I/O сказали, что Kotlin отныне официально поддерживается гуглом наравне с Java (правда, это тоже не сильно меня подтолкнуло к близкому знакомству). Сказать по честности, я вообще думал “Зачем это надо, что старой доброй джавы не хватает?” и эти красные стопари держали меня до поры до времени.

 

Когда я все-таки открыл для себя ресурсы, посвященные котлину, в первую очередь я обратил внимание на следующие моменты:

Continue reading

Не приложение, а мусорка (Auto.ru)

Продолжаем тему исследования размера приложений для Android.

Небольшое отступление. Крупные компании проводят семинары, встречи, выставки, обмен опытом и т.п. на тему того, как сделать разработку приложений для Android лучше, качественнее, ну, и конечно же рассматривают новые технологии в разработке. Меня всегда поражало то, какие Львы Толстые выступают с докладами — не в плане растительности на лице и любви к детям, конечно, а в плане подхода к выступлению. Все четко, красиво, много (и порой непонятно).

Что меня лично смущало и смущает всегда, так это то, как темы этих докладов отличаются собственно от произведенных продуктов. Взять тот же Яндекс.Диск. Он адово тормозит при запуске на любом моем устройстве, будь то старый Nexus 7, будь то прошлогодний хит Xiaomi Mi5. Нет, я пожалуй, делаю слишком громкое заявление на тему тормозов. Просто задержка между нажатием на иконку приложения и его открытием здорово отличается от других приложений (как конкурентов, так и просто отдельных).

Continue reading

TouchClub для Вконтакте. Монетизировать продукт: откуда баблишки?

Идеи ничего не стоят, а вот те, кто способен их реализовать — бесценны.
Уинстон Леонард Спенсер-Черчилль

Уинстон Черчилль (если автор этой крылатой фразы действительно он) был чертовски прав, но прав лишь наполовину. Идеи действительно ничего не стоят, ну разве если только речь не идет о каких-нибудь патентах и троллях, скупающих их сегодня по дешевке чтоб завтра перепродать тем, кто их воплотил в жизнь втридорога.

Continue reading

Realm: хитрости при сохранении данных сервера

Ситуация в следующем: приложение делает REST запрос на получение данных, сохраняет их в базе, каким-то образом модифицирует, затем снова их получает с сервера. Все довольно тривиально, казалось бы, если бы не одно «но» — где мои локальные изменения?

К сожалению, Realm не поддерживает обновление данных с пропуском конкретных полей, как это было сделано в реквесте на гитхабе проекта, например

But, what about a call to specify a list of the fields that one want to overwrite (or preserve)?
copyToRealmOrUpdateOverwritingFields("field1","field2")
copyToRealmOrUpdatePreservingFields("field1","field2")
copyToRealmOrUpdate(obj).preserve("field1","field2")

https://github.com/realm/realm-java/issues/2179

что было бы довольно удобно. Давайте рассмотрим на примерах. Представим, что у нас есть чат, в котором у сообщений есть флаг «прочитано». Наш REST интерфейс не возвращает об этом состоянии никаких данных и вся информация о том, было ли сообщение прочитано или нет, хранится только локально. Continue reading

VK TouchClub — мессенджер для администраторов групп

ВКонтакте настолько прочно вошел в нашу жизнь, что редко проходит день, когда не открываешь его ленту в браузере или в своем смартфоне. Новости, котики, мемы, фотографии с утренников проносятся перед нашими глазами и забываются через полминуты, уступая место новой и новой информации. “О времена, о нравы”, как сказал однажды Цицерон (правда немного по другому поводу, но согласно вышесказанному, высок шанс, что продолжив читать дальше, вы об этом позабудете).

Для кого-то ВКонтакте перестал быть просто развлекательным ресурсом (а в последнее время для многих он перестал еще и быть основным фотохостингом), а стал инструментом заработка денег. Можно ли было представить еще несколько лет назад, что в графе “Опыт работы” в резюме может оказаться пункт “Администратор паблика вконтакте”, и это не будет казаться шуткой?

Группы ВКонтакте заменили некоторым интернет-магазины, и администраторы таких сообществ столкнулись с некоторыми проблемами, например, борьба с мошенничеством. В двух словах это выглядит следующим образом: заинтересованный в покупке клиент оставляет комментарий к товару. Например, спрашивает о вариантах доставки, или “а есть такой же, только с перламутровыми пуговицами?”.

Continue reading

Впервые на AppHunt

Кто-то (пожелавший остаться неизвестным, или же просто сервис этого не поддерживает) расшарил (то есть запостил, я полагаю) мое приложение Selfie Timelapse App на AppHunt.com

http://apphunt.livae.com/app/4779482211680256

Такие дела. Голосуйте, если можете.

Посмотрим, как это повлияет вообще на все.

TouchClub: ведение группы ВКонтакте. Сложности.

ВКонтакте — это не только посты с лепры, фотографии кошечек и испеченных тортов от ваших друзей. Это еще и инструмент для ведения бизнеса. Но насколько он идеален?…

Continue reading

Рабочий Retrofit: кешируем запросы и обрабатываем отсутствие соединения

Retrofit — отличная (хотя тут больше подходит слово “лучшая”) библиотека на Android для создания REST и не только запросов из приложения к ресурсам в интернете. Для расширения функционала используется такой компонент библиотеки как “перехватчик” (хотя лично я называю их как есть — interceptors). Ниже я хочу предложить вашему вниманию ряд интерсепторов, которые использую по умолчанию. Они отвечают за выполнение следующих целей

Continue reading

Android: логгирование и отправка результатов на почту

Привет.

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

Одно дело — разработка, LogCat в Android Studio (если вы из любителей пожестче — можно распечатку в консоли смотреть с помощью adb), и совсем другое — ломать голову над вопросом почему у вас все работает на всем парке тестовых устройств, а пользователь жалуется на абсолютно обратную ситуацию. Коммуникация между разработчиком и конечным пользователем — это хорошо, но совсем другое — видеть своими глазами картинку происходящего (помните, как в матрице — для кого-то это зеленые иероглифы, а для кого-то — женщина в красном?)

Continue reading

Ffmpeg — fade transition. Создание анимации из изображений

Оказывается Ffmpeg может помочь решить и эту проблему!

Проблема номер раз — в Android ffmpeg wrapper выпадает без описания ошибки при слишком большом времени обработки, черт его знает почему — на обычном компьютере эта же операция отрабатывает без ограничений.

Я нашел в интернете bash скрипт, который позволяет сделать анимацию из ваших рисунков, собранных в одной папке. Делюсь им с вами.

https://cloud.mail.ru/public/2BNy/HH7Hui6Ko