Руксы в Лондоне: English emotions

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

Может показаться, что английский очень сухой язык, особенно в плане эмоций. Действительно, используя только «cool», «nice», «good» далеко не уедешь.

Read more

Google Play зверствует

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

Сегодня я аж несколько раз столкнулся с новой системой модерации которая похерила некоторые денежные вложения в приложения, что не сильно страшно – риски, все дела. А вот перспектива дальнейшего сотрудничесва с Google Play кажется просто ужасающей.

Read more

Android: отправка письма дефолтным клиентом

gmail-app-with-predefined-text-via-mailto-intent

Задача: отрыть дефолтный email клиент у пользователя на устройстве с предустановленным заголовком письма, текстом и адресатом.

При этом не должно всплывать окно IntentChooser, предоставляющее варианты каким приложением воспользоваться для написания письма. Пользователь должен сразу увидеть его дефолтный email клиент (и это не всегда gmail). Тысячи ответов на StackOverflow показывают диалог, схожий с “share”. Некоторые товарищи в лучшем случае предлагают фильтровать по ContentType и другим косвенным признакам того, что это почтовый клиент, хотя достаточно часто все равно просачиваются приложения вроде Evernote или даже пресловутый bluetooth. Иногда предлагают не переносимые решения, типа использование курсора для получения доступных email клиентов.

Read more

Google Play IAB: боль

\"billing-not-supported-on-publisher-account\"
Казалось бы, гугл стремится зарабатывать на продажах приложений и айтемов внутри них, для этого поддерживает магазин в котором распостраняются приложения. Логично предположить, что он делает все, чтоб упросить процесс приёма денег у пользователей и увеличенить конверсии (на самом деле нет, показывает опыт). Это такой понятный клон iTunes для экосистемы Android.

Но не все так просто. Давайте посмотрим мучения разработчика, которому нужно добавить покупки внутри приложений(In-App Purchase) и протестировать их. Приведу только базовый сценарий – в зависимости от приложения и амбиций может быть много разветвлений

Read more

Android: сниппет для тостов

Toast прекрасный способ оповестить пользователя о чем то, не блокируя интерфейс. У них можно завадать отзывы, показывать в разных местах и даже делать кастомные view и все это с помощью fluent interface. Уверен, что читатели если и слышали о таких расширенных возможностях, то никогда не пользовались этим. Самый стандартный юзкейс – показать текст.

По моему опыту часто нужно показать toast как результат не успешной процедуры, которая обычно выполняется в фоне в отдельном треде или воркере, т.е. не в UI. А для этого приходится писать лапшу только для того, Toast.makeText(…).show() выполнился в UI треде.

Для этого набросал сниппет, который уменьшит количество кода и ошибки, связанные с вызовом тоста из нетого потока и банальному забыванию метода show().

Было

Toast.makeText(this,
    getText(R.string.messages_storage_invalid),
    Toast.LENGTH_SHORT).show();

Стало

    toastShort(R.string.messages_storage_invalid);

Причем метод можно вызывать из любого потока. Показыватся тост будет из UI треда через runnable

Read more

Galaxy s3 mini: одноразовый телефон

Уже больше четырёх месяцев на момент поста я являюсь счастливым обладателем Galaxy S3 mini таиландской сборки из UK. Первая часть истории \”как я обновлял себе телефон\” началась с Xperia L. На этот раз я его не менял на другой, но граблей успел собрать не мало.

Если кратко – лучше берите за эти же деньги от HTC

Read more

Стихи классиков: маленькое достижение

\"Russian
Хочу поделиться небольшим достижением по одному из моих приложений Стихотворения классиков, на момент этого поста количество 5-ти звёздночных комментариев переросло за 1000
\"Russian

Не сложно подсчитать, что 5 звёзд составляют 1009÷1186 = 85% всех голосов. Мне кажется это очень хороший результат.

Read more

Kotlin: джависты, завидуйте

Около года назад, в подкасте радио-т я впервые услышал о инициативе JetBrains, новом языке программирования kotlin. С тех пор внимательно слежу за его развитием.
Они позиционируют котлин как “better java” и, надо сказать, у это получается. Это статический типизированный, язык со вшитой nullable-проверкой Так же он поддерживает функции высшего порядка(замыкания), extension functions и trait. Может немного напоминать scala – но, достаточно далеко от неё.

Read more

HTC Desire: съел всё место

Внезапно, у меня опять кончилось место в телефоне.

\"\"

Пошёл по известной дорожке:

  • Удалить старые приложения
  • Почистить кэш (твиттера, например)
  • Recorvery -> Wipe dalvik cache

Но в этот раз не помогло. Снёс кучу нечасто используемых приложений: через 30 минут снова стало свободно 0.5Mb.

Место кончилось на столько, что даже телефон не открывался, как и многие приложения.
Стандартная утилита не показывала каких-либо сверх-тяжелого софта (я рассчитывал где-то на 40+мб)

Напомню, что у меня HTC Desire с Runnymede AIO V6.0.4.3, прошивка стоит около 14 месяцев

Read more