HabraCitizen — новое android-приложение для Хабрахабра с темной темой и свайп навигацией



    Здравствуй, Хабрасообщество. Сегодня ночью в Play Market было выложено мое первое android-приложение — HabraCitizen. Сабж представляет собой новую хабрачиталку со множеством возможностей и фич. Просили удобный хабра-клиент для android-устройств? Встречайте :)

    Особенности приложения (из описания в маркете):
    — Светлая и темная тема!
    — Слайд-меню с возможностью настройки расположения (слева или справа);
    — Свайп-навигация!
    — Авторизация*;
    — Авторизованные пользователи могут видеть количество новых комментариев к постам в списке постов, а также видеть новые комментарии в посте (комментарии подсвечиваются зеленым)*;
    — Возможность загрузки постов для чтения в офлайне (с картинками!)*;
    — Техника pull-to-refresh для обновления списков — чтобы обновить комментарии или список постов теперь достаточно потянуть сам список, а не нажимать кнопку;
    — Полноэкранный режим чтения постов и вопросов;
    — Настраиваемый отдельно шрифт в посте и в комментариях;
    — Практически все возможные разделы сайта: посты лучшие (за сутки, неделю, месяц, все время), тематические и корпоративные (захабренные, новые, отхабренные), вопросы, события, хабы, профили компаний и пользователей (со списком опубликованных постов, вопросов, ответов и т.д),
    лента*, избранное*;
    — Полноценный поиск по ресурсу — посты, вопросы, хабы, пользователи, комментарии;
    — Поддержка хабраката
    — Просмотр полноразмерной версии картинок по тапу (с возможностью ресайза)!
    — Запуск youtube-видео в youtube приложении прямо из постов и комментариев;
    — Приложение не «теряет» позицию при чтении поста или комментариев при повороте экрана, а также способно восстановить загруженный пост с комментариями или список постов даже если приложение было «убито» в фоне
    — Приложение способно «ловить» ссылки, ведущие на домен habrahabr.ru и открывать соответствующий раздел автоматически;

    * — авторизация и загрузка постов для чтения в офлайне доступны в полной версии приложения, которую можно разблокировать из приложения. Об этом ниже.

    Ссылка на приложение в маркете: play.google.com/store/apps/details?id=com.allesad.HabraCitizen

    Заинтересованы? Прошу под кат (осторожно, тонна картинок).



    Предыстория


    Мне давно была интересна android-платформа и рынок android-приложений. Для подогрева интереса в январе 2012 года был куплен смартфон на андроиде — Incredible S. Была идея взять да и написать что-нибудь эдакое. Но, как водится, наличие устройства и возможность разработки не сгенерировали сами по себе идею какого-либо приложения. Поэтому разработка была отложена в долгий ящик, однако в свободное время я почитывал литературу по андроиду и пытался таки поставить себе хоть какую-нибудь объективную цель.
    В это же время я часто и помногу читал Хабр. А так как хотелось иметь возможность читать его не только сидя за монитором, но и в дороге с телефона, то я полез в Android Market в поисках мобильного клиента. Какого же было мое удивление, когда я выяснил, что для крупнейшего русскоязычного ресура IT'шного толка нету ни одного нормального android-приложения.
    Имеющиеся в магазине клиенты глючили и имели весьма ограниченный функционал. Из них в лучшую сторону выделялся лишь HabReader, коим я и решил пользоваться. Однако, «выделялся в лучшую сторону» не означало «был идеальным». За время пользования у меня накопилось множество претензий к работе (прошу заметить, что автор поправил многие из проблем в февральском обновлении, но свою разработку я начинал куда раньше):

    — Текст в постах не форматировался по ширине экрана, добавляя горизонтальный скролл;
    — Не было темной темы;
    — Комментарии грузились отдельно и не имели индикатора загрузки (было непонятно, грузятся они или нет);
    — Поворот устройства приводил к «сбрасыванию» позиции чтения поста и комментариев;
    — Поиск работал только по постам;
    — Попытка зайти в раздел «События» приводила к вылету приложения;
    и т.д.

    Таким образом мне пришла в голову идея «допилить» приложение и залить изменения на гитхаб в созданный автором проект. Так появилась конкретная цель.
    Пользуясь случаем, хочу передать автору HabReader огромное спасибо за выкладывание сорцов на гитхабе — не будь их, разработка бы затянулась на неопределенный срок, ведь я практически ничего не знал тогда про android и Java (всякие хэлоуворлды не в счет). А так имеющиеся исходники послужили мне необходимым фундаментом, и, скачав их, я принялся за изучение…

    Разработка



    Непосредственно разработка началась только в январе 2013 на новогодних каникулах. Устав от пьянок и маясь от безделия я пытался придумать чем себя занять. И тут я вспомнил про исходники HabReader'a и свое желание в них поковыряться. Начал я с выбора IDE. И здесь стоит сделать маленькое лирическое отступление…

    маленькое лирическое отступление

    Официальное руководство по Android от гугла рекомендует Eclipse. Причины понятны: бесплатность, кроссплатформенность, бла-бла-бла. «Окей», сказал я и поставил Eclipse. Установил ADT-плагин и импортировал проект. «Не все так просто», радостно сообщил Eclipse и подсветил кроваво-красным весь проект. «Окей», сказал я, вспоминая про передающуюся из поколения в поколение легенду о неправильно импортированном R, и, со словами «Stackoverflow to the rescue!», вбил запрос в гугл. «OVER9000 результатов», произнес в ответ гугл. 1-я ссылка — не помогло, вторая — не помогло, n-ая! — не помогло! Я оптимизировал иморты, переимпортировал проект, перезапускал Eclipse, перезагружал комп, переставлял android-SDK и ADT-плагин — шиш с маслом были мне ответом. Да, я знаю, что должно было помочь, но почему-то не помогало. Новый проект? Нет проблем. Импорт? Хрен. Новый проект с copy-paste файлов из имеющегося проекта? Хрен. Более того, когда я создал XML-файл layout'a и пытался его отредактировать в текстовом режиме, Eclipse сделал что-то страшное — исковеркал весь xml начисто. Закрывающие теги были выше открывающихся, расцветка кода полетела к чертям, попытка поставить курсор в любое место или выделить текст приводила к новой комбинации этой мозаики. Перезапуск Eclips'a не помогал. Дошло до того, что мне пришлось открывать xml-файл в обычном блокноте и редактировать его там. «Тьфу ты, чорт!», сказал я в гневе после этого и зарекся использовать эту коварную IDE.
    Однако, писать код в блокноте и компилировать его через консоль мне не улыбалось, поэтому я направил взор на IDE, которую давно хотел попробовать — Intellij IDEA.
    К тому моменту IDEA как раз обзавелась редактором layout'a и темной темой. Я поставил Community Edition, запустил, слегка поматерился пытаясь импортировать проект… А потом прозрел. После Eclips'a это была просто IDE мечты! Скорость работы, действительно умный code-assist, удобный интерфейс, безглючность, отменный рефакторинг… Мои впечатления от работы во многом можно охарактеризовать одной фразой: «Ого! Здесь и так можно?!». Пока я ехал после работы домой, у меня просто руки чесались сесть покодить что-нибудь только чтобы покодить в IDEA. Это ли не идеальная IDE? Инструмент, с которым не надо бороться, и который действительно помогает и ускоряет работу просто в разы. Можете считать это пиаром или рекламой, как угодно, но если бы не ребята из JetBrains и их детище, вряд ли бы я в такие сроки изучил android-платформу (по мере сил), и вряд ли бы вы сейчас читали этот пост (возможно, через приложение ;). Лучей добра им!


    Итак, выбрав IDE, я начал кодить. Кодить приходилось исключительно по ночам после работы, начиная в час ночи, когда я приходил домой (такой вот у меня плавающий график) и заканчивая в 6-7 утра. По выходным я просто отрывался, и, опохмелившись после пятницы, кодил часов по 15-16 подряд. Все это было на ударной и мощной волне энтузиазма, которая питает лучше любого Red Bull'a, и было мне в кайф. Была цель, была отменная и умная IDE — работа кипела. Постепенно я осознал, что список фич, которые я хотел бы реализовать, вполне себе тянут на отдельное приложение, ибо код был переписан практически начисто. С этого момента разработка велась как разработка отдельного проекта. Идеи для реализации и идеи по реализации рождались одна за другой, зато усталость «настакивалась» и в какой-то момент я понял, что пора остановиться. Идеал недостижим и попытки приблизиться к его сиянию легко могли бы привести к «ожогам» в виде неповоротливого монстра, набитого глюками и багами заместо приложения.
    Хлопнув себя по руке, тянувшейся реализовать очередную «мега-идею», я начал шлифовать свой проект, отлавливать баги и делать круглые глаза при виде фатал-эксепшона с чудным стак-трейсом при тестировании ну другом устройстве и другой версии ОС. Ох уж этот android-зоопарк, О зверинец! Ничего не поделать — приходится мириться.

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

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

    Обзор особенностей


    Темная и светлая тема

    Да! То, о чем давно просили в комментариях и отзывах к другим мобильным хабра-клиентам (а я регулярно патрулировал эти отзывы).



    Slide-меню

    Модное и весьма удобное меню по свайпу от края экрана (в настройках можно указать расположение — справа или слева):



    Свайп-навигация

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




    Pull-to-refresh

    Технология pull-to-refresh (как в приложении вконтакте или pulse) для обновления списков постов, комментариев, вопросов, событий и т.д.



    Авторизация

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





    Доступны практически все разделы сайта

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













    Офлайн-чтение

    И еще одна фича, о которой очень многие просили — сохранение постов локально на устройстве для чтения их, скажем, в метро по пути на работу. Приложение умеет сохранять как посты, так и вопросы (все вместе с комментариями), однако, посты можно скачивать в режиме «сразу пачкой». Можно указать раздел — лента (для авторизованных), тематические, лучшие, корпоративные, а также количество постов для закачки (для раздела «новые» или «лучшие за сутки» можно скачать сразу все). Эта часть аналогична iOS-приложению lHabr. После нажатия кнопки «Скачать» приложение сперва соберет информацию о URL-ках, с которых нужно загрузить данные, потом добавит в статус бар новое уведомление с прогрессом загрузки (прогресс, к сожалению, доступен только для Android 4+, в более старых версиях возможности добавить его в уведомление нету). Сначала идет загрузка данных из интернета, затем сохранение на устройстве. После сохранения инициируется процесс кэширования картинок, так что читать посты и комментарии в офлайне будет гораздо веселее :) Только не отключайте интернет сразу же после сохранения постов (особенно, если качали сразу много).





    Полноэкранный режим чтения

    Теперь никакие заголовки и табы не будут мешать вашему чтению. Для возврата в обычный режим тапните по тексту в посте. Авто-открытие в полноэкранном режиме можно выставить в настройках.



    Настройка шрифта в посте и комментариях

    Шрифт в посте и комментариях теперь можно настроить отдельно — результат будет виден сразу же. Настройки автоматически сохраняются для постов и вопросов — нет нужды выставлять их каждый раз.





    Поиск как на сайте

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



    Увеличение картинок и запуск видео

    И снова часто упоминаемая в запросах фича. Теперь картинки в постах могут быть просмотрены в полноразмерной версии — просто тапните на картинке. Полноразмерную версию можно ресайзить.



    С видео пришлось помучаться — запуск видео внутри компонента WebView, который используется для рендеринга веб-страниц, очень тяжел, неудобен и глючен. Видео то не запускалось, то не было звука, то был звук, но вместо картинки — черный экран, то при попытке просмотра на весь экран видео вырубалось… Я плюнул на это дело и решил запускать видео в нативном плеере. 90-95% видео на Хабре — с ютуба. Ютуб приложениe также есть почти на всех андроид-смартфонах. Поэтому я поступил следующим образом — парсил на загрузке HTML-код страницы, вырезал iframe с youtube-видео, конструировал правильный URL и вставлял заместо фрейма свой див со ссылкой и картинкой. По тапу на картинке в youtube-плеере открывается youtube-видео. Вроде удобно.



    Куча приятных мелочей

    Отключаемый хабракат



    Возможность сразу открыть пост в браузере (из списка или из окна «чтения» поста)



    Имя автора поста подсвечивается в комментариях красным (удобно — не надо помнить имя или постоянно лезть его смотреть :))

    image

    Посты также как и на сайте отмечаются флажками (перевод, туториал, из песочницы, recovery). Более того, для любителей читать статьи-переводы в оригинале я добавил специальный пункт в контекстном меню — можно сразу открыть источник ;-)



    Приложение крайне живучее и не меняет своего состояния, даже если было «убито» в фоне :) Это означает, что чтение вашего поста или комментариев продолжится с того же места, где было прервано. Списки постов, вопросов, событий и т.д. также будут автоматом восстановлены. Также приложение не боится поворота экрана и не теряет позицию чтения при этом :)

    Такая вот вышла загогулина.

    По поводу монетизации


    Если помните, сперва приложение планировалось как допиливание имеющегося HabReader'a, а значит совершенно бесплатное. Впоследствии, я перешел от идеи «допиливания» к идее «запиливания» чего-то своего, по-прежнему бесплатного. Однако, время шло, приложение росло вкупе с усталостью и я начал задумываться о возможностях монетизации для повышения, так сказать, мотивации. Ничуть не меньший интерес для меня представляла возможность поизучать андроидовскую систему оплаты, ведь для меня все в платформе было в новинку. Поначалу была шальная идея сделать «ненавязчивую» рекламу, но идея довольно быстро была казнена с особой жестокостью, ибо я сам не переношу в приложениях рекламу. Само приложение платным делать я ни в коем случае не хотел. А посему оставался один путь — разделение функционала на платный и бесплатный.
    Итого: в бесплатной базовой версии сохраняется возможность читать все разделы хабра (кроме, разумеется, ленты), однако авторизация и офлайн-загрузка доступны через активацию полной версии из приложения. Впрочем, для авторизованных пользователей я планирую множество дальнейших улучшений:

    — Написание комментариев к постам;
    — Добавление постов и комментариев в избранное;
    — Возможность голосовать за посты и комментарии;

    , так что уж не обессудьте за мою бессовестную жадность :)

    Итог



    Приложение готово, выложено на всеобщее обозрение. Я, в свою очередь, готов к потоку критики и фидбека (надеюсь, он будет). Пользуйтесь, пишите отзывы, всем спасибо за внимание. Enjoy!

    Отдельная благодарность

    Коллеге dj_raphael — за помощь в тестировании;
    Коллеге lilislilit — за инвайт на хабр на день рождения;
    Хабраюзеру NOSTRA — за замечательную библиотеку Universal-Image-Loader для асинхронной загрузки картинок;

    Впечатления

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну, и что?
    Реклама
    Комментарии 239
    • +3
      Большое спасибо за разработку, отличное вышло приложение! Купил полную версию.
      • 0
        Благодарю :)
        • +1
          Маленький комментарий по юзабилити: сделанное по-разному обновление pull-to-refresh для ленты (сверху-вниз) и для комментариев (снизу-вверх) несколько сбивает с толку.
          • +1
            Исходил из логики обновления списков на сайте — список постов может дополняться постами сверху, тогда как комментарии обновляются вниз. Возможно, стоит добавить обновление комментариев в обе стороны.
            • +2
              не стоит, все логично.
          • +2
            И еще: выключка по формату в тексте статей рождает порой ужасные межсловные интервалы. Возможно ли использование мягких переносов (вебкитовских или прогонкой через типограф)?
            • 0
              Прошу прощения, выключка по формату? ) Скриншот проблемы сильно бы помог. С форматированием статей есть некоторые проблемы, так как для форматирования используется отдельный CSS файл. Буду править дальше.
              • 0
                «Выключкой по формату» называется «выравнивание/форматирование по ширине» или «text-align justified».
                При использовании такого форматирования без расстановки переносов часто получаются коридоры в тексте и большие межсловные интервалы. Из-за этого текст становится не очень удобно читать.
                Скрытый текст
                • 0
                  Да, уже разобрался в чем дело. Поправить недолго — ждите апдейта!
            • +1
              В профиле, кстати, все вкладки (Посты, Q&A, Ответы, Комментарии, Подписчики) — пустые. Это что-то сломалось, или задел на будущее?
              • 0
                Нет, это не задел, это явный баг — скоро поправлю!
          • 0
            Прошу поправить список поддерживаемых устройств. Как минимум мой Sony Xperia Z ваше приложение не поддерживает.
            • +1
              Хм, вероятно это из-за того, что что я забыл добавить поддержку xxhdpi устройств в манифест. Обязательно поправлю.
            • +1
              У меня чего-то сверху не поместилось в экшнбаре — d.pr/i/DviI
              • 0
                Это название приложения. На устройствах с крупным экраном там все ок, а вот на телефонах места мало, и надпись урезается. Стоит убрать надпись, как считаете?
                • +1
                  Да, оттуда лучше убрать.
                  • 0
                    Ок, поправим. Спасибо за отклик.
              • +2
                объясните мне непонятливому чем такое приложение лучше просто браузера?
                • +3
                  Грузит быстрее, кэширует картинки, форматирует текст удобно для чтения (не нужно масштабировать как в браузере), темная тема опять же. Я писал приложение, в первую очередь, для себя, потому что на моем Incredible S с браузера совсем неудобно посты читать. Но каждый выбирает сам для себя, никого не принуждаю :)
                  • 0
                    У вас прямо пунктик по поводу темных тем :)
                    • +10
                      Если мне не изменяет память при наличие AMOLED-экрана темная тема:
                      1) Экономит батарею,
                      2) Щадит глаза в темное время суток.

                      Так что ее наличие для определенной части аудитории является одним из существенных факторов при выборе приложения.
                      • +2
                        Я и сам их поклонник, в основном по второй причине.
                        Просто очень бросается в глаза :)
                        P.S. А приложение, кстати, отличное. Большое спасибо автору.
                • 0
                  Спасибо, приобрел полную версию.
                  Странность которую заметил: при авторизации написал «Фейл», но все равно авторизовал.
                  • 0
                    Хм, посмотрю в чем может быть проблема. К счастью, она не критическая как я понял. Благодарю за отзыв.
                  • 0
                    «Не поддерживается вашим устройством». Но почему в простой ридер устанавливать какие то ограничения, в моем случае, как я понимаю, виноват Full HD экран на Find 5
                    • +1
                      Ограничение изначально создавалось чтобы отфильтровать ldpi, но, в процессе, случайно отфильтровалось xxhdpi разрешение, так как я попросту забыл про него — моя ошибка, каюсь. Исправлю ночью.

                      Кстати, выяснил интересную особенность фильтрации по разрешениями для Nexus 7. Оказывается, для него отдельно следует добавлять строку с точным указанием dpi:

                      <screen android:screenSize=«large» android:screenDensity=«213» />

                      Без этой строки Nexus 7 отфильтровывается в маркете.
                      • 0
                        а вы не могли прописать
                        supports-screens android:smallScreens=«false»
                        если уж так не любите маленькие экраны?
                        • 0
                          Пожалуй, мог бы и должен был, просто я еще изучаю платформу и многого не знаю. Про smallScreens=«false» стоило бы догадаться…
                    • +1
                      Лично мне за глаза хватает fulltext rss :)
                      • +2
                        Зачем вы сделали форматирование по ширине?
                        • 0
                          Как-то не задумывался над этим. Стоит выровнять по левому краю?
                          • –4
                            Конечно, длиные пробелы между словами раздражают. Артемий Лебедев, к примеру, делает выравнивание по левому краю.

                            Кстати, приложение куплю.
                            • 0
                              Благодарю, форматирование текста поправлю, благо несложно.
                        • 0
                          >Поначалу была шальная идея сделать «ненавязчивую» рекламу, но идея довольно быстро была казнена с особой жестокостью, ибо я сам не переношу в приложениях рекламу. Само приложение платным делать я ни в коем случае не хотел. А посему оставался один путь — разделение функционала на платный и бесплатный.
                          Как-то не вяжется. Разработчик всем известного Cool Reader сделал просто систему доната. Пустым пакетом для поддержки проекта…
                          • 0
                            И много заработал?:) Донейт приносит обычно мало. Как мотивация не годится.
                            • +2
                              Можете спросить у него сами. Он есть на хабре.

                              Вы прочитали цитату? Мотивацию я не обсуждал, обсуждалось это:
                              > Само приложение платным делать я ни в коем случае не хотел.
                            • +1
                              Я думал о простом донате и оставил такую возможность в приложении, но сколько-нибудь ощутимый доход донат дает лишь при большой аудитории. Для своего приложения я представлял аудиторию в размере 10-15 тысяч, тогда как у Cool Reader'a куда больше полумиллиона (если не миллион). Разница почти в 2 порядка.
                              • –2
                                Так бы и написали, что изначально платным приложение делать не планировалось..., а не ярко выраженное ни в коем случае не хотел. Варианты-то у вас были.
                                Да, я дотошный, работа такая искать нестыковки)
                                • 0
                                  Извините, но раз уж мы ищем нестыковки, позвольте уточнить. Само приложение платное?
                                  • 0
                                    Еще одно «беспланое» приложение с ограниченной функциональностью, которое невозможно полноценно использовать без покупки\доната. А так все даром)
                                    • +4
                                      Не используйте.
                                      • 0
                                        Почему же невозможно? Вы вполне можете себе читать Хабр с помощью этого приложения. А вот если вы хотите пользоваться дополнительными возможностями, то они платные.
                              • 0
                                Купил.
                                Замечание — почему например статья habrahabr.ru/post/178355/ выглядит так — слева картинка, справа почти вся статья одним длииииинным столбиком кроме последнего абзаца?
                                • 0
                                  Спасибо за покупку. В приведенной статье проблемы с форматированием из-за указанного атрибута align. Постараюсь поправить.
                                  • 0
                                    Так ведь в браузере обтекание сработало нормально)
                                    • 0
                                      Браузер использует свой собственный CSS, приложение же грузит только разметку статьи, а форматирует его отдельным CSS-файлом. Просто так взять CSS с сайта было нельзя, ибо на сайте своя разметка для всей страницы и свои зависимости.
                                • 0
                                  Купил полную версию. Жду комментариев!
                                  • +1
                                    Спасибо. Надеюсь, не затяну с доработкой )
                                  • 0
                                    А выбор куда сохранять есть или поумолчанию куда-то только сохраняет?
                                    К примеру у меня на телефоне есть /mnt/sdcard (внутренняя пользовательская память) и /mnt/sdcard2 (карта памяти)
                                    • 0
                                      Сохраненные посты сохраняются в персональную базу данных приложения, которая находится внутри папки с установленным приложением. В будущем надо подумать над возможность импорта/экспорта данных из базы, а может и над синхронизацией.
                                      • 0
                                        Не, меня не импорт/экспорт интересует, а именно местоположение кэша/базы… так как на разных моделяъ телефонов размер доступного пользоваетльского пространства очень нехило может варьироваться. у меня там, к примеру, всего 2Гб и большинство программ там свое хранит, плюс встроенная андроидоваская галлерея упорно создает там thumbnails примерно на 1Гб… видел модели, где этот размер измеряется мегабайтами :) Ну а раз тут идет вопрос о кеше/оффлайн копиях, то такая возможность будет достаточно полезна. Спасибо.
                                        • 0
                                          База данных сильно много весить не должна — у меня весит около 2-3Мб за 50-60 сохраненных постов. Приложение, кстати, можно перенести на SD-карту и, возможно, база будет перенесена вместе с ним (специально не проверял, так что могу соврать).
                                          • 0
                                            Попробую.
                                            Эм, а куда деваются «полноразмерные картинки»? :)
                                            • 0
                                              В смысле «куда сохраняются»? В папку /android/data/com.allesad.HabraCitizen/cache на SD карте. Кэшированием занимается библиотека UIL — еще раз спасибо ее автору.
                                              • 0
                                                Вот я про этот буть и спрашивал, база туда же должна поидее писаться. вот не плохо было бы иметь возможность этот путь переназначать. ибо с картинками 50-60 постов не будут 2-3метра весить.
                                                • 0
                                                  Немного поясню про сохранение картинок и постов.

                                                  Текст постов, комментарии и прочее сохраняются в базу данных, поэтому весит сама база немного. А вот картинки кэшируются и сохраняются в отдельную папку на SD карте. При открытии поста компонент WebView, который рендерит страницу, проверяет наличие сохраненной и закэшированной картинки. Если картинка найдена, то она будет взята из кэша, в противном случае компонент попытается загрузить картинку из интернета. Поэтому база и картинки — две разные сущности, они не хранятся вместе.

                                                  Здесь есть один нюанс. Картинок на хабре большое количество и среди них есть очень «тяжелые», поэтому если пытаться хранить их все, то приложение очень быстро сожрет место на диске. Чтобы избежать этого, я установил лимит на общий размер загруженных картинок. Таким образом «старые» картинки будут со временем перезаписаны «новыми». Это может привести к тому, что картинки из постов, открытые в офлайне будут «пустыми», так как они были удалены при перезаписи. В будущем планирую разделить кэш «офлайновых» картинок и обычный кэш картинок, чтобы офлайновые картинки не удалялись без причины.
                                                  • +1
                                                    Ок, спасибо за разъяснения. Может быть этот коммент можно добавить в оригинальный пост?
                                                    • 0
                                                      Да, надо бы, вот только я не могу заново публиковать пост после редактирования — «Я пиарюсь» требуют 20 кармы ) Если я чего-то не понимаю в редактировании своего поста, то поправьте пожалуйста. Первый раз публикуюсь.
                                      • 0
                                        Присоединяюсь к вопросу…
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                        • 0
                                          скорее всего qwga не указан;
                                          в требованиях написано android 2+, значит GB должно поддерживать.
                                          • 0
                                            Поддерживаемые версии Android — 9+. Фильтрация маркетом скорее всего из-за пропущенного QWGA. Буду править.
                                          • 0
                                            Приобрел полную версию, дабы поощрить разработчика! Спасибо
                                            • 0
                                              Разработчик поощрен. Моя вам благодарность )
                                            • 0
                                              Будьте добры, выложите на 4pda, почему-то на Nexus 7 не хочет устанавливать, спасибо.
                                              • 0
                                                На 4pda выложу в скорейшем времени. Насчет отказа установки на Nexus 7 — очень странно. У меня самого Nexus 7 с последней прошивкой — все ставится без проблем. Что пишет при установке? «Не удалось установить приложение»?
                                                • 0
                                                  Угу. В последнее время совсем что-то всё ругаться стало (стоит у меня CM10, nightly, поэтому чёрт его знает)
                                                  • 0
                                                    Ну скорее всего в этом все и дело ) Nightly билды, если не ошибаюсь, тестовые и могут глючить. У меня самого на Incredible S стоит CM10.1 с Android 4.2.2 (отличная прошивка) — приложение встает нормально.
                                                    • 0
                                                      Окей, спасибо. Жду на 4pda!
                                              • 0
                                                клево получилось, хорошая работа.

                                                я немного не в курсе, у хабра появлся API?

                                                еще для корневых экранов в SlidingMenu попробуйте переключать фрагменты вместо старта новой активити, как это сделано в Google+.
                                                так получается более плавно
                                                • 0
                                                  Нет, API у хабра не появилось :) По крайней мере, я не нашел. Все данные с сайта пришлось парсить ручками, в чем помогла библотека Jsoup.

                                                  По поводу переключения фрагментов — я подумывал так сделать (изначально ориентировался на приложение Verge), но потом отказался, так как мне тяжело было контролировать правильное поведение приложения при нажатии кнопки Back. Я тогда еще только начинал копаться в платформе и многого не понимал. В будущем посмотрю, есть вероятность что реализую фрагменты.
                                                • 0
                                                  This item cannot be installed in your device's country.
                                                  :( :( :(
                                                  • –7
                                                    Программа замечательная. Спасибо.

                                                    Но не готов доверить гуглу свою карту. Готов купить через paypal, я.деньги, wmr, безнал, bitcoin, да почти любой вменяемый способ переводов. В противном случае буду ждать появления программы на 4pda.
                                                    • 0
                                                      В Я.Деньги за несколько кликов делается виртуальная карта на нужную сумму, с которой прекрасно оплачиваются любые покупки.
                                                      • –5
                                                        Во-1, мне не нравится единый монополист на оплату ПО для андроида. Поэтому я по мере возможностей стараюсь это не поощерять. Во-2, это платно и излишний гемморой. Если разработчик готов идти мне навстречу — (Titanium backup, Nova Launcher и Co, swift keyboard, да хоть spb shell 3d) я готов покупать их продукты, нет — уж извините
                                                        • +2
                                                          Столлман одобряэ ваше отношение.
                                                          • 0
                                                            А Гуглу не излишний геморрой принимать оплату всякими фантиками и пуговицами? Из вашего списка за вменяемое платежное средство только PayPal прокатывает, остальное вряд ли каких-то нормальных мировых продавцов заинтересует.
                                                            • –3
                                                              А я у гугла ничего и не покупаю, чтоб гуглу платить. Речь идет про валюту, которую (не)принимает разработчик. И да, пейпалки вполне достаточно. А еще бывают российские разработчики, как, например, автор этого топика, которые вполне могли бы принимать и российские валюты. Да и биткойн уверено держится выше $100.

                                                              Предположим у меня планшет на андроиде, телефон на ios, и… ну я не знаю, ноут с windows 8 с ее маркетом. И что я каждому из них должен слить данные своей карты? Тогда когда в РФ доступны две внутренних (я.деньги и вебмани) и одна международная (пейпал) платежные системы? Нет уж. Меня как потребителя это положение решительно не устраивает. И ладно бы хотя бы тот же гугл накладывал категорические ограничения на способ лицензирования. Приведенные мною выше приложения показывают, что это не так. И, если разработчик действительно лицом к пользователям, то вполне находится способ устраивающий всех в дополение к гугловалету.

                                                              Для примера хочу еще заметить, что многие люди далекие от компьютеров и андроидов, зачем-то купившие себе смартфоны приходят ко мне и просят настроить им их смарты, установить полезные программы и т.п. На что я им выдаю некоторый список: (Titanium backup, Juice Defender, различные клавы, ланчеры и т.п.) и объясняю на пальцах почему их стоит купить (цена в большинстве случаев соотвествующая качеству), но… Люди совершенно далекие от техники понимают, что не стоит указывать данные своей карты лишний раз в телефоне и не понимают зачем им переплачивать за какие-то виртуальные карты. И просят сделать «как-то иначе», самый распространенный вариант «мы тебе наличные, а ты нам купи». И вот тогда опять же — что можно купить за пейпалку или другие платежные средства — покупается. Остальное — раздел программы под андроид, ресурса 4pda.
                                                              • +1
                                                                Елки-палки, я бы и рад сделать оплату так, чтобы всем удобно было, но вы и меня поймите — я во всех этих платежных системах нихрена не разбираюсь пока. Недавно только вот карту завел наконец-то.
                                                                У меня нет возможности (да и знаний) как правильно и толково организовать доставку цифрового товара пользователям. Сидеть обновлять почту чтобы письмо не пропустить и отправлять «апэкашечку» в цифровом конверте пользователю после подтверждения транзакции? Вам не знаю как, а мне это неудобно.

                                                                Гугл здесь выступает как посредник, предоставляющий мне платформу, удобную и секурную платежную систему с возможностью возврата средств и которую легко применить и использовать. А я, в свою очередь, плачу ему 30% *вздох* мзду. Это взаимовыгодное сотрудничество, ибо всю эту систему я бы враз вокруг себя не развернул сам. Такие дела.
                                                                • 0
                                                                  Простите меня, пожалуйста. Но и Вы меня поймите. См. аргументы выше.

                                                                  Был бы я андроид-разработчиком, я бы Вам помог больше. Пока что я могу посоветовать обратиться сюда: www.androidpit.ru/ru/android/developers-info — я тут покупал свою клавиатуру. Они работают за пейпал. Клавиатура эта есть как в гугломаркете в бесплатном и платном варианте, так и тут.
                                                                  • 0
                                                                    За ссылку спасибо. Но если я и буду внедрять альтернативные системы оплаты (а я постараюсь), то не в ближайшем времени. Сейчас сосредоточусь на исправлении ошибок и реализации обещанного.
                                                          • 0
                                                            Не вижу большой проблемы заказать у яндекса пластик за 149рублей без аб.платы на 3 года…
                                                            • –2
                                                              Проблема 1: гугл монополист. Захочет ввести проценты за оплату через гугловаллет — все будут платить проценты. Я голосую рублем за конкуренцию в данном случае.
                                                              Проблема 2: почему я даже эти сраные 150 рублей должен отдавать в карман кому-то, а не напрямую разработчику?
                                                              • +2
                                                                1) Если бы да ка бы.
                                                                2) потому что за эти 150 рублей вы получите программу здесь и сейчас и поддержите разработчика удобным ему способом, а не будете давиться и ждать халявы потому что вам лично западло.
                                                                • –1
                                                                  1) Отличный аргумент по существу.
                                                                  2) Да-да, и книжки я должен покупать у ЛитРеса здесь и сейчас, а не ждать нормального поставщика? С такой политикой мы никогда не дождемся нормальной цифровой дистрибуции. Продолжайте быть как все, что уж…
                                                                  • +1
                                                                    Да никому вы ничего не должны! Оставайтесь себе без книжек, приложений, геджетов и всего остального в ожидании «нормального поставщика» на здоровье. И не забудьте перестать покупать еду, ведь если быть до конца честным отечественные поставщики продуктов питания тоже далеко не всегда тянут на «нормальных» и, о ужас, не принимают не то что биткоины, но даже пресловутую палку.
                                                                    • 0
                                                                      Не останусь. Для меня есть широчайшая варез-сцена и opensource. А вот продавец останется без моих денег. Которых, кстати, я даже готов заплатить больше, но удобным для себя способом, так как вижу желание идти навстречу потребителю, а не «мне так проще».

                                                                      А про еду… не знаю где Вы живете, у меня в городе есть магазины, которые принимают наличные. :) А так же прямые банковские переводы с минимальными (или совсем без) процентами. Не загоняя меня в обслуживание единственной платежной системы или банка. И это при товарах, которые надо доставлять мне, которые рискуют испортиться. Так что мне вдвойне или втройне не понятно, почему поставщики цифрового контента (его доставлять несоизмеримо проще той же еды) не могут использовать вменяемые разнообразные средства оплаты.
                                                                      • 0
                                                                        Ну, кесарю — кесарево. Но, опять-таки, автор стандартными средствами гугла без напряга скорее всего уже собрал больше денег, чем вы возможно согласились бы заплатить.

                                                                        В условиях когда софт востребован узкой аудиторией, разработчик «свой» в определенных кругах, цена не велика, а схема распространения стандартна — ваши гипотетические пять копеек погоды не делают. На каждого такого принципиального найдется 100 не столь принципиальных.
                                                          • 0
                                                            А счет в киви-деньгах уже сам по себе счет карты Visa.
                                                          • 0
                                                            Закиньте деньги на qiwi-кошелек через терминал и создайте там виртуальную карточку visa
                                                            • 0
                                                              Блин, неужели Вы действительно думаете, что если я использую биткойны, я ничего не знаю про виртуальные карты? См. habrahabr.ru/post/178283/#comment_6190953
                                                              • +1
                                                                так в чем проблема? ваша параноя заскучала и вы решили её выпустить? Биткойну доверяете, я.деньгам доверяете, неуказанной хрени доверяете, а гуглу нет? Ваше право, но плакатся по этому поводу ненадо.
                                                                • 0
                                                                  Я уже понял что по мнению отдельных личностей, что если я не согласен с политикой чего-то, надо сидеть и молчать в тряпочку, не пытаясь это изменить. Спасибо за Ваш совет, но думаю я им не воспользуюсь.
                                                                  • +1
                                                                    Отказ от покупок у гугла не тянет на эффективный способ что-то изменить, а скорее напоминает пуганее ежа известным местом. Гуглу от вашего «протеста» не горячо и не холодно, более того с таким подходом вы даже не его целевая аудитория. Так что никому кроме себя вы хуже не делаете, впрочем может вам нравится такая радикальная позиция, она позволяет вам чувствовать себя не таким как все, борцом с системой.
                                                                    • 0
                                                                      Попробуйте читать мои комменты. Я пишу не гуглу. Я пишу конкретному разработчику(ам). С учетом этого — весь Ваш коммент мимо.
                                                                      • 0
                                                                        Ок. Вы пишете конкретному разработчику. Судя по комментариям ему не особенно хочется в данный момент разбираться с альтернативными системами оплаты при отсутствии существенной финансовой мотивации со стороны 1% аудитории. Понимаете, соотношение затраченного времени к полученной выгоде в данном случае не в вашу пользу. А после посулов использовать варез, так и совсем. Все равно в данном случае вы ни систему не побороли, ни софт не получили. А разработчик ничего не потерял.
                                                                        • +2
                                                                          Ну если б я не написал, то разработчик бы вероятно и не узнал, что есть нужда в альтернативных методах оплаты его программы. Так что основная цель моего исходного коммента вызвавшего такой шквал критики достигнута. Остальное уже мои проблемы.
                                                                          • 0
                                                                            Ну, в общем тоже верно.
                                                            • 0
                                                              Прошу прощения, но тут помочь мало чем могу. Само приложение-то бесплатное, деньги требуются только за определенный функционал, а его проверка и покупка осуществляется целиком через Billing Library v3 и Play Market. Даже если я соберу вам отдельную версию без проверки платежей, то при первом же апдейте проверка снова включится.
                                                              • 0
                                                                Очень жаль. «Определенный функционал» как раз и интересен.
                                                            • 0
                                                              Спасибо за приложение, купил полную версию. Правда перед этим оно упало прямо во время платежа.
                                                              Мне через браузер почему-то тоже неудобно читать хабр на моём Sensation XE.
                                                              • 0
                                                                Неплохо=) Уже поставил платную версию. Два пожелания:
                                                                — добавить возможность скроллить по кнопкам громкости (как в том же coolreader'е)
                                                                — так и хочется при просмотре комментариев ответить на них, планируется ли добавлять функционал комментирования?
                                                                • 0
                                                                  1) Скроллинг по кнопкам — хорошая идея. Надо добавить, спасибо
                                                                  2) Цитата из поста:

                                                                  «Впрочем, для авторизованных пользователей я планирую множество дальнейших улучшений:

                                                                  — Написание комментариев к постам;
                                                                  — Добавление постов и комментариев в избранное;
                                                                  — Возможность голосовать за посты и комментарии;
                                                                  »

                                                                  :)
                                                                • 0
                                                                  Выглядит очень удачно. Тоже приобрел полную версию и даже накинул сверху :)
                                                                  Правда один раз уже приложение упало(Galaxy nexus, 4.2.2)
                                                                  • 0
                                                                    Благодарю за пиво ), пользуясь случаем хочу поздравить первого человека, который задонатил приложение
                                                                  • 0
                                                                    Отличное приложение! В ближайшее время куплю!
                                                                    Только вот вопрос есть: полная версия после покупки распространяется на все устройства под одним гугл-аккаунтом или для каждого нужно отдельно покупать?
                                                                    • +1
                                                                      Одна покупка на все устройства с одним гугл-аккаунтом. Специально тестировал. Иначе некрасиво бы вышло :)
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • +3
                                                                        Вы отлично поработали! Получилось отличное приложение. Очень рад, что мои исходники не пропали зря.
                                                                        • 0
                                                                          Фигасе, фундаментально.
                                                                          • +1
                                                                            Это весьма и весьма круто. Купил полную версию. Работает хорошо и вполне юзабельно. Мои рекомендации:

                                                                            • Возможность выбора шрифта. Open Sans будет смотреться просто прекрасно; совершенно не помешает иметь какой-нибудь шрифт с засечками (посмотрите на приложение Kindle).
                                                                            • Выравнивание по левому краю — потому что выравнивание по ширине далеко не всегда выглядит красиво
                                                                            • После покупки платной версии нужно предложить перезапустить приложение, иначе при попытке авторизации он отправляет на покупку, а Activity покупки говорит что все уже куплено
                                                                            • Я не фанат landscape mode, но многим будет весьма удобно использовать приложение в этом режиме если левая менюшка остается слева, просто меняется, скажем, со списка разделов на список тем (посмотри как работает gmail на планшетах в горизонтальном режиме — примерно такой принцип).
                                                                            • Ниспадающее меню Захабренные — Новые — Отхабренные в темном режиме не показывает ничего (N7). в светлом показывает выбранный тип тем. Решение: менять цвет шрифта ;)

                                                                            Спасибо за хорошую работу, ждем интересных апдейтов!
                                                                            • 0
                                                                              Спасибо за развернутый отзыв!

                                                                              • Шрифт. Первоначально я планировал сделать нечто вроде настроек шрифта в приложнии Pulse. Там как раз есть возможность выбора с засечками/без засечек. Оказалось, сделать это весьма проблемно, ибо в моем приложении для рендеринга тела поста используется WebView, а не TextView, а WebView работает аки браузер и игнорирует изменения настроек шрифта в приложении. Надо будет поглубже поизучать этот вопрос и добавить выбор шрифта.
                                                                              • Будет сделано
                                                                              • Хм, неожиданная проблема. Логика в приложении не должна прерываться после успешной покупки. Вышеописанная проблема у меня случалась только в одном случае — когда я на своем N7 использовал 2 аккаунта и перешел из девелоперского аккаунта в основной и пытался запустить приложение без запуска Play Market. Это важно! После смены аккаунта на устройстве (возможно, и при перезапуске девайса), кэш Play Market очищается, а именно в каком-то своем внутреннем кэше Play Market хранит информацию о совершенных покупках. Приложение не взаимодействует с гугловскими сервисами напрямую — оно обращается к Play Market, а тот в свою очередь запрашивает у сервера историю транзакций и хранит ее локально. Поэтому в случае смены акка надо обязательно хотя бы один раз запустить Play Market.
                                                                              • Landscape mode — это то, что у меня изначально стояло в списке «фич» приложения, однако я отложил это дело до некоторой поры из-за сложности в реализации. Я тогда, если помните, только начинал кодить под android :) Сейчас для меня это одна из приоритетных вещей в ToDo листе.
                                                                              • Не понял проблемы. Можно скриншот? У вас пустой сам навигационный список? Попробуйте «посвайпать» право-влево. Иногда встречается такая проблема.
                                                                              • 0
                                                                                ПО третьему пункту:
                                                                                1. Купил.
                                                                                2. Попробовал авторизоваться — предлагают купить — нажимаю купить — говорят куплено.
                                                                                3. Перезапустил приложение
                                                                                4. Заработало
                                                                                • 0
                                                                                  Штука в том, что андроидовская библиотека для проведения платежей отправляет запросы не серверам гугла, а установленному на устройстве приложению Google Play, которое, в свою очередь, запрашивает данные о платежах. И иногда случается так, что Google Play еще не сохранил в кэше информацию о покупке на момент запроса из приложения. Перезапуск приложения или очистка данных Google Play (с последующим его запуском) помогали всегда при таких проблемах.
                                                                            • 0
                                                                              Не обладаю андроидом, и думаю не я один такой, вопрос автору — будет ли версия под iOS?
                                                                              • +1
                                                                                Под iOS есть весьма достойный lHabr — автор plasm тут же, на Хабре. Не вижу смысла конкурировать, тем более что iOS я вообще не знаю, а Objective-C меня пугает. Под iOS планировал что-нибудь поделать, но где-нибудь в отдаленном будущем. А пока сосредоточусь на android-версии.
                                                                                • 0
                                                                                  О, спасибо за упоминание :) Прочитал статью, увидел что раздел с загрузкой статей сделали аналогично — приятно :) Но вообще это заслуга ZaiSL

                                                                                  Прямо появилась мотивация допилить все на праздниках, а то в обычное время не успеваю уже — работы навалилось :)
                                                                                  • 0
                                                                                    Как-то вы там прекратили коммуникацию по приложению, а я ведь постоянно мониторил запросы пользователей в айТунце и в группе в ВК :) Полезный фидбек был, пусть и косвенный.
                                                                                    • 0
                                                                                      Скоро все вернется, у меня очень ресурсоемкие задачи по работе сейчас просто. Передышка пока. К годовщине LHabr думаю реализовать весь функционал сайта и открыть на гитхабе свой репозиторий для паблика. Или если не весь репозиторий, то создать отдельный для синглтона-менеджера, который содержит в себе всю логику.
                                                                              • 0
                                                                                Выкатил первый апдейт до версии 1.1. Появится в маркете через 1,5-2 часа (в 4-5 утра по Москве, я думаю).

                                                                                Список изменений (копия чейнджлога в маркете);

                                                                                — Убраны ограничения на разрешение экрана — теперь можно установить и на ldpi (320x240) и на xxhdpi (1920x1080+) устройства;
                                                                                — Исправлена ошибка, приводящая к вылету приложения при переключении темы два раза без перезапуска;
                                                                                — Исправлена ошибка, приводящая к вылету при скролле и тапе по новым комментариям (для авторизованных пользователей) в списке комментариев;
                                                                                — Заголовок «HabraCitizen» убран из action-bar'a в разделах «Посты» и «Лента»;
                                                                                • 0
                                                                                  Купил, и только потом прочитал, что голосовать и писать комментарии нельзя. Жалко.
                                                                                  Кстати, если назначить приложение по умолчанию для ссылок на хабр, в нем перестает работать «открыть в браузере» — просто перезагружает страницу в положении.

                                                                                  И может убрать крутящийся круг при загрузки страницы — он не дает с ней взаимодействовать, но не несет реальной функции, как я понял, страница успешно загружается и без него. Лучше сделать индикатор загрузки в виде элемента, не блокирующего взаимодействие — просто маленький индикатор в углу, или ползущая полоска как в just reader
                                                                                  • 0
                                                                                    Как бороться с поведением при назначении действия по умолчанию я, честно говоря, не знаю. Сам всегда вручную выбираю :) Но постараюсь разобраться.

                                                                                    По поводу круга — дайте угадаю, у вас версия android < ICS? Потому что на ICS и выше диалог легко скрывается по тапу в любом месте за его границами. Я специально устанавливал атрибут cancelable этого диалога в true. Но старые версии ОС почему-то упорно этот атрибут игнорируют. Надо какой-то обходной путь найти.
                                                                                    • 0
                                                                                      Нет, он скрывается, все нормально, но тогда не вижу в нем смысла — как-то неаккуратно, если его скрыть, то он не дает представления о том, загрузилась страница или нет. А если его не скрывать — он мешает читать страницу до конца загрузки.
                                                                                      • 0
                                                                                        Изначально я хотел там сделать индикатор загрузки как в последнем апдейте HabReader'a — просто крутящийся бублик в центре как и рекомендуют гугловские гайдлайны, но по непонятным для меня причинам не получилось. Вроде бы все правильно делаю, но индикатора нет. Скорее всего дело во ViewPager'e, реализующем свайп-навигацию. Надо будет подрихтовать, конечно.
                                                                                  • 0
                                                                                    Класное приложение. Купил полную версию. Заметил странную особенность. Пробелы между словами какие-то слишком короткие (в статьях на среднем увеличении текста, Nexus 10, 320 dpi). Слова сливаются при быстром чтении. Поправьте пожалуйста.
                                                                                    • 0
                                                                                      Это я напортачил в обновлении, так как выкладывал ночью хот-фикс и не протестировал как следует. Я сравнивал форматирование абзацев по ширине (как сейчас) и по левому краю. При выравнивании по левому краю на экране телефона как-то совсем много места справа оставалось из-за переноса длинны слов. Word-break тоже выглядел коряво, поэтому я попытался при форматировании по ширине немножко сократить расстояние между словами, добавив word-spacing. На телефоне выглядело нормально, а вот на планшете я не протестировал и зря. Завтра постараюсь выложить апдейт с возможностью выбора метода выравнивания.
                                                                                    • 0
                                                                                      Спасибо за приложение, купил платную версию! В голосовании указал «хорошо, но есть куда стремиться» т.к. жду возможности писать сообщения и голосовать, а то вводить сообщения на моём LG P500 в брузере- одно мучение: курсор прыгает, когда пытаешься что-нибудь поправить
                                                                                      • 0
                                                                                        Добавлю: «избранное» ничего не показывает, так и должно быть? И хотелось бы видеть свой трекер. ;)
                                                                                        • 0
                                                                                          Если «Избранное» ничего не показывает, это явная проблема. Авторизация прошла успешно? Попробуйте вылогиниться в приложении и авторизоваться снова. Отпишитесь, пожалуйста, если помогло.

                                                                                          Трекер у меня давно в планах висит :) Однако, причина его отсутствия банальна — у меня он был пустой, кроме добавленных мною в избранное постов. Сейчас я могу посмотреть еще и трекер своего поста. Если вам не трудно, не могли бы вы подписаться на меня и упомянуть в комментарии? Мне нужно посмотреть какая там верстка, чтобы распарсить контент.
                                                                                          • +1
                                                                                            Легко: Allesad
                                                                                            • 0
                                                                                              Спасибо! Однако, в трекере почему-то пусто.


                                                                                              Там какое-то время для апдейта нужно?
                                                                                            • 0
                                                                                              Избранное не показывало, видимо, из-за медленного интернета (у моего оператора нет 3G, а сеть нагружена сильно) — пару раз обновил — подгрузило.
                                                                                        • 0
                                                                                          Спасибо! Купил полную версию.
                                                                                          Раньше приходилось пользоваться двумя приложениями — Habra Reader и HabReader. Теперь достаточно одного.
                                                                                          • 0
                                                                                            Крутое приложение, на Blackberry PlayBook одно из многих андроид приложений которое не тормозит, жаль что на плейбуке нельзя купить полную версию :(
                                                                                          • 0
                                                                                            Что за постоянно всплывающее уведомление «Фейл»? Что не так? Версия — платная. Уже второй раз вешает телефон намертво.
                                                                                            • 0
                                                                                              Надпись «Фейл» это, к сожалению, атавизм времен тестирования. Совсем забыл поменять. Возникает эта надпись, если процесс авторизации вернул false, а вернуть false он может только если во время парсинга странички результата логина вылетел Exception. Это довольно редкая ошибка, кроме Вас, ее, кажется, никто пока не встречал. Если не сложно, можете написать мне на почту через «Обратную связь» в приложении — я соберу вам версию без catch блока и, когда вылетит Exception, отошлите его через «Отзыв». Я посмотрю stacktrace чтобы разобраться в чем причина.
                                                                                            • 0
                                                                                              Отличное приложение! купил полную версию) Может быть сделаете аналогичные программы для твиттера и вконтакта?
                                                                                              • 0
                                                                                                Ого куда хватили! ) Честно говоря, вряд ли — твиттер-клиентов тьма-тьмущая. Буквально недавно на хабре был обзор. Да и твиттером я вообще не пользуюсь (пока), поэтому даже не знаю, что нужнее его пользователям.

                                                                                                У контакта тоже свой весьма навороченный клиент (хотя в нем есть ощутимые недостатки). Реализовать похожий функционал в одиночку будет тяжко.
                                                                                                • 0
                                                                                                  Тьма не тьма, а твитдек закрывается. Так что ниша ощутимо освободится.
                                                                                                • 0
                                                                                                  Для VK рекомендую Kate Mobile:
                                                                                                  https://play.google.com/store/apps/details?id=com.perm.kate
                                                                                                  https://play.google.com/store/apps/details?id=com.perm.kate.pro
                                                                                                  Отличие платной и бесплатной версий — наличие рекламы.
                                                                                                • 0
                                                                                                  Куплю, наверное, но если разработка на этом остановится и новые версии будут выходить редко — влеплю единицу в оценке.

                                                                                                  Насмотрелись на такие проекты, где автор поначалу вроде как весь такой на энтузиазме, а через пару месяцев смотришь — куда всё делось.
                                                                                                  • +1
                                                                                                    Я бросать разработку не собираюсь точно. Прекращение выпуска апдейтов сможет произойти только в том случае, если все будет работать как часы, а весь запрошенный функционал будет добавлен. Однако, идей по внедрению новых фич сейчас масса, так что в ближайшем времени это не грозит.
                                                                                                    Сделать какой-то перерыв в разработке, чтобы отдохнуть? Это да, это я планирую, ибо чертовски устал совмещать основную работу с работой по ночам, но прекращать разработку и не думаю.
                                                                                                    • 0
                                                                                                      Ну, отлично, удачи и вдохновения!
                                                                                                  • 0
                                                                                                    А почему так сложно выйти на ссылку на полную версию? Может, оттого, что название приложения в полной версии стоит в скобках и плохо индексируется?

                                                                                                    В общем, купил, раз в полной версии можно авторизоваться и, надеюсь, видеть свое избранное. Спасибо!
                                                                                                    • 0
                                                                                                      Я так понял, что автор реализовал покупку полной версии как внутренний платеж, а не как отдельное приложение(как например Reddit News и Reddit News Pro) или приложение разблокировщик(как у Power Amp)

                                                                                                      Т.е. по тому же принципу, что и покупка доп. предметов в играх итп.
                                                                                                      • 0
                                                                                                        mukizu все верно написал. В маркете лишь одна бесплатная версия приложения с возможностью покупки внутри приложения.

                                                                                                        А по поводу избранного — у вас разве оно не доступно? Добавления в Избранное пока нет, но само Избранное находится у авторизованного пользователя в меню под разделом Лента.
                                                                                                      • 0
                                                                                                        А планируется ли интеграция с такими сервисами как Pocket?
                                                                                                        • +1
                                                                                                          Планируется, но не в ближайшем времени. Надо поглубже изучить вопрос взаимодействия приложений и всякой синхронизации.
                                                                                                        • 0
                                                                                                          Спустя сутки после релиза приложение попало в Топ в Категории «Социальные». Пусть и на 3-ей странице :)



                                                                                                          Большое всем спасибо за скачивания, отзывы и покупки!
                                                                                                          • 0
                                                                                                            ну дайте и нам скачать, живущим в «других» странах!
                                                                                                            • 0
                                                                                                              При публикации приложения я указал «все страны», никого не обижал. Но в списке стран для распространения я не нашел Грузии. Напишите мне в личку ваш email и я постараюсь вам выслать apk в скором времени.
                                                                                                          • +2
                                                                                                            Хорошее приложение, спасибо. Купил полную версию.
                                                                                                            Из пожеланий – хотелось бы иметь возможность скачивания обновлений по расписанию. Хабр я обычно читаю в метро по дороге на работу и было бы приятно, если бы новые статьи к этому времени уже скачались – ночью, сами.
                                                                                                            • 0
                                                                                                              Автор молодец! за полгода с нуля выкатил отличное приложение. Я так понимаю у Вас уже есть опыт в программировании и просто пришлось подучить Джава\Андроид?
                                                                                                              и немного глупый вопрос — приложение пока не ставил, а в маркете цену не нашел. подскажите пожалуйста сколько полная версия стоит?
                                                                                                              • 0
                                                                                                                Спасибо. Даже не полгода, а 4 месяца ) Устал, но доволен.
                                                                                                                Опыт программирования у меня всего около 3 лет, был практически случайно устроен веб-программистом, на тот момент даже HTML и CSS знал на самом базовом уровне. Мир IT затянул. Андроид, кстати, изучать понравилось. А наличие гугла, официальной документации и Stackoverflow помогают очень быстро находить ответы на мелкие вопросы не позволяя разработке затянуться.

                                                                                                                Цена полной версии $1.49. В маркете цена не указана, потому что нет отдельной платной версии — покупка осуществляется внутри приложения.
                                                                                                              • 0
                                                                                                                Уже купил и пользуюсь! Хорошая аппликация.

                                                                                                                Однако проголосовать в опросе в конце статьи не смог. Т.е. я уже на ПС проголосовал, но в авторизованном HabraCitizen мне вторично показало форму.
                                                                                                                Ну, думаю, проблемы с авторизацией…
                                                                                                                И… жми на кнопку сколько хочешь — ничегошеньки не происходит.
                                                                                                                • +1
                                                                                                                  Спасибо за отзыв.

                                                                                                                  Проголосовать в приложении не получается из-за того, что Javascript в компоненте, который рендерит страницу, отключен. Да и обрабатывать результат выбора в голосовании мне нужно вручную, потому что скрипты с сайта в приложении отсутствуют. В будущем планирую включить. А вот то, что вам вторично показало форму для голосования, а не результат — это странно. У меня на обоих устройствах после авторизации в посте показана лишь таблица с результатом.
                                                                                                                  • 0
                                                                                                                    как ни крути — баг!
                                                                                                                    — если скрипты отключены — не показывать таблицу, имхо…
                                                                                                                    — вторично форму — точно баг…

                                                                                                                    но приложение хорошее, уплатил и не жалею! а баги со временем будут другие :-)
                                                                                                                    успехов!
                                                                                                                • 0
                                                                                                                  Allesad
                                                                                                                  Свайп-навигация похожа на навигацию в HabrReader, это фишка IntelliJ IDEA?
                                                                                                                  • 0
                                                                                                                    А? Поясните, пожалуйста.

                                                                                                                    Свайп-навигация — это переключение табов (лучшие, тематические, корпоративные и т.д) «листанием» вправо/влево. В HabReader'e такого нет — там щелкать по табу для переключения. А вот что у приложений общее — это слайд-меню, которое и содержит в себе разделы «Посты», «Хабы», «События» и т.д. Вот только я не понял при чем здесь IntelliJ IDEA.
                                                                                                                    • 0
                                                                                                                      Перепутал, слайд-меню очень похожи и в HabraCitizen, и в HabrReader. Это фишка IntelliJ IDEA? Там как-то уже какой-то готовый шаблон для слайд меню?
                                                                                                                      • 0
                                                                                                                        Нет, это не шаблон, просто обыкновенный лист-фрагмент. Иконки и цвет разделительных секций («Аккаунт», «Разделы») я взял из HabReader'a, потому что, на мой взгляд, они отлично подходили к теметике разделов и цвету самого Хабра. Сами иконки, к слову, из обычного бесплатного Android-пака иконок, который можно скачать на сайте разработчиков.