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 для асинхронной загрузки картинок;

    Only registered users can participate in poll. Log in, please.

    Впечатления

    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 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
                                        Присоединяюсь к вопросу…
                                      • UFO just landed and posted this here
                                          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
                                                                      Одна покупка на все устройства с одним гугл-аккаунтом. Специально тестировал. Иначе некрасиво бы вышло :)
                                                                    • UFO just landed and posted this here
                                                                      • UFO just landed and posted this here
                                                                          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-версии.
                                                                                • UFO just landed and posted this here
                                                                                    0
                                                                                    Как-то вы там прекратили коммуникацию по приложению, а я ведь постоянно мониторил запросы пользователей в айТунце и в группе в ВК :) Полезный фидбек был, пусть и косвенный.
                                                                                    • UFO just landed and posted this here
                                                                                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
                                                                                              Что за постоянно всплывающее уведомление «Фейл»? Что не так? Версия — платная. Уже второй раз вешает телефон намертво.
                                                                                                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-пака иконок, который можно скачать на сайте разработчиков.
                                                                                                                            0
                                                                                                                            Переформулирую. И в HabrReader, и в HabraCitizen
                                                                                                                            есть меню с пунктами «Посты», «Хабы», и есть часть, где показываются посты.

                                                                                                                            Часть, где показываются посты, можно убирать пальцем, и только кромка её видна.

                                                                                                                            Если же мы пальцем ведём, чтобы показать часть с постами на весь экран, то меню затемняется и в HabrReader, и в HabrCitizen.

                                                                                                                            Так вот, откуда такая похожесть? Это фишка Intellij Idea что ли? для создания вот такого «слайденья»?
                                                                                                                              0
                                                                                                                              А, вот вы о чем. Это библиотека SlidingMenu — github.com/jfeinstein10/SlidingMenu
                                                                                                                                0
                                                                                                                                Спасибо.
                                                                                                                                  0
                                                                                                                                  Небольшой вопрос,
                                                                                                                                  вот я запустил пример с этой SlideMenu.
                                                                                                                                  Но оно у меня выглядит вот так:



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

                                                                                                                                  Как сделать так, чтобы оно пальцем двигалось?
                                                                                                                                    0
                                                                                                                                    Вы имеете ввиду пальцем двигался тот фрагмент, который справа серый — вправо/влево? Или сам список Test1, Test2 чтобы вверх/вниз двигался?
                                                                                                                                      0
                                                                                                                                      Изначально у меня пустое белое поле с надписью «Hello World!» (сейчас этой надписи не видно).
                                                                                                                                      Я двигаю пальцем влево-вправо — ничего не вылезает.
                                                                                                                                      Я нажимаю в левый верхний угол на иконку зеленого робота — выезжает такое меню слева с пунктами Test1, Test2 (которое и закрывает надпись «Hello world!»). Меню выезжает, кстати, не с самого края, а есть отступ, который и виден на скриншоте.

                                                                                                                                      Если нажму на серую часть, меню заезжает обратно.

                                                                                                                                      Так вот, я ожидал, что я буду пальцем водить влево-вправо, и меню будет выезжать/выезжать синхронно с моими движениями пальцем.
                                                                                                                                        +2
                                                                                                                                        Если вы применяли эту библиотеку в своем проекте, то все что нужно сделать, это унаследовать вашу Activity от SlidingFragmentActivity и создать в методе onCreate() два фрагмента, потом поместить фрагменты как «передний» и «задний».

                                                                                                                                        Выглядит это примерно так:

                                                                                                                                        @Override
                                                                                                                                            public void onCreate(Bundle savedInstanceState) {
                                                                                                                                                super.onCreate(savedInstanceState);
                                                                                                                                        
                                                                                                                                                // Устанавливаем основной layout
                                                                                                                                                setContentView(R.layout.main);
                                                                                                                                        
                                                                                                                                                // Устанавливаем layout для меню (состоит из одного FrameLayout)
                                                                                                                                                setBehindContentView(R.layout.menu_frame);
                                                                                                                                        
                                                                                                                                                // Создаем фрагмент для меню (может быть обычным фрагментом или фрагментом-списком - как угодно)
                                                                                                                                                Fragment menuFragment = new SlideMenuFragment(pageType);
                                                                                                                                        
                                                                                                                                                // Заменяем frame из layout'a на созданный фрагмент
                                                                                                                                                getSupportFragmentManager()
                                                                                                                                                        .beginTransaction()
                                                                                                                                                        .replace(R.id.menu_frame, menuFragment)
                                                                                                                                                        .commit();
                                                                                                                                        }
                                                                                                                                        


                                                                                                                                        Получить меню в SlidingFragmentActivity можно через метод getSlidingMenu(), а потом уже устанавливать для полученного меню разные опции. Однако и в варианте по-умолчанию все должно работать. Если движения пальцем вправо/влево не сдвигают передний фрагмент, то попробуйте сделать свайп от края экрана. Для SlidingMenu можно установить режим сдвига — по всему экрану или только от границы.

                                                                                                                                        Вообще я советую скачать с маркета пример автора библиотеки, а потом заглянуть в его исходники. Там несложно разобраться с примерами как что работает.
                                                                                                                                          0
                                                                                                                                          Ок, спасибо, но вы сначала дали ссылку на другую библиотеку, на SideNavigation, разбираться с ней мне надоело.
                                                                                                                                          И я перешёл на эту, на которую Вы указали сейчас, что ж буду разбираться с примером.
                                                                                                                                            0
                                                                                                                                            Как так — на SideNavigation? Вот ссылка, которую я вначале давал — github.com/jfeinstein10/SlidingMenu. Специально проверил )
                                                                                                                                              0
                                                                                                                                              а да, сорри) видать по памяти в гугле писал и попал на SideNavigation)
                                                                                                                                                0
                                                                                                                                                Спасибо за ответы.
                                                                                                                                                  0
                                                                                                                                                  Ан нет, не могу запустить его пример, так как его библиотека требует ActionBarSherlock, а ActionBarSherlock
                                                                                                                                                  не подключается, потому что файлы android-support-v4.jar конфликтуют.

                                                                                                                                                  Если удалить файл android-support-v4.jar из ActionBarSherlock, то ActionBarSherlock больше не подключить — пишет, что нет этого файла.
                                                                                                                                                  Если же удалить этот файл из библиотеки SlidingMenu, то ActionBarSherlock подключить можно… но проект снова не запускается),

                                                                                                                                                  ибо уже не срабатывает строчка "import android.support.v4.app.Fragment;" в одном из файлов проекта-примера.

                                                                                                                                                  Такие дела.

                                                                                                                                                  Будут какие советы?

                                                                                                                                                  Если нет, то подумываю теперь написать слайд-меню самому. Хочу оценить сложность написания слайд-меню. Если бы вы писали слайд-меню сами, то сколько вам времени бы понадобилось на это?
                                                                                                                                                    0
                                                                                                                                                    Как я вас понимаю. Сам поначалу, наверное, сутки потратил, пока не разобрался с этим импортом android-support-v4.jar. Зависимость там, если не ошибаюсь, следующая:
                                                                                                                                                    1) ActionBarSherlock подключается в проект как библиотека. К нему добавляется android-support-v4.jar;
                                                                                                                                                    2) В проект также в качестве библиотеки добавляется SlidingMenuLibrary. Если для библиотеки добавлен суппорт-jar, то его следует удалить, и добавить саму ActionBarSherlock-библиотеку.
                                                                                                                                                    3) Библиотеку SlidingMenuLibrary добавляем к проекту;

                                                                                                                                                    То есть цепочка выглядит так: android-support-v4.jar — > ActionBarSherlock — > SlidingMenuLib -> Ваш проект.
                                                                                                                                                    По крайней мере, так было раньше, когда я готовил проект. Однако, недавно создатель SlidingMenuLib сделал коммит, в котором убрал зависимости от ActionBarSherlock. Я сам пока последнюю версию не применял, поэтому подробностей не знаю. Читайте где-то тут.

                                                                                                                                                    Зы: самостоятельное написание sliding menu заняло бы, я кучу времени даже сейчас, не говоря уж о начале моей разработки ) Так что проще применить готовую библиотеку, поддерживаемую автором. Впрочем, если соберетесь делать сами, то успехов!
                                                                                                                                                      0
                                                                                                                                                      Не надо удалять android-support-v4.jar! Надо просто его во всех местах сделать одинаковым :)
                                                                                                                                                        0
                                                                                                                                                        Я пробовал :) Везде установил один и тот же .jar. У меня конфликтовало и не запускалось.
                                                                                                                                                          0
                                                                                                                                                          Хм, ну не знаю. У меня такой проблемы не бывает, хотя этот джар в трех местах. Может сделать Clean?
                                                                                                                              0
                                                                                                                              Приложение купил.
                                                                                                                                0
                                                                                                                                Пожалуйста, сделайте выравнивание по левому краю, хотя бы как опцию.
                                                                                                                                  0
                                                                                                                                  В ближайшем обновлении добавлю опцию для выбора типа выравнивания.
                                                                                                                                  0
                                                                                                                                  Спасибо за ликбез по Idea, вы открыли мне глаза :) Отличное приложение, сначала попробую бесплатную версию, а потом перейду на платную за фичу оффлайнового доступа. Удачи!
                                                                                                                                    0
                                                                                                                                    Рад, что отзыв пригодился :) Разработчик IntelliJ IDEA — JetBrains — часто делает скидочные акции на свои продукты. Последняя такая акция была совсем недавно — habrahabr.ru/post/176955/. Я как увидел так сразу и купил себе полную версию ) Так что если планируете покупать их продукт, то можно изрядно сэкономить. Хотя они заслуживают и покупки по полной цене.
                                                                                                                                    0
                                                                                                                                    Я джва года ждал такую хабрачиталку. Отдельное огромное спасибо за тёмную тему и настройку размера шрифта. Так же выразил благодарность приобретением полной версии.
                                                                                                                                    Из пожеланий пока только то, что вы уже написали в статье. Однако, ИМХО, высший приоритет — оценки, ибо писать комментарии с телефона обычно лень, да и вообще я это редко делаю. А вот оценки…
                                                                                                                                    Готов помочь в тестировании (обладатель HTC Desire Z c CM7.2).
                                                                                                                                    Первый багрепорт: не работают голосовалки. (Извините, если уже писали в комментариях — их много, все не читал).
                                                                                                                                      0
                                                                                                                                      Благодарю за отзыв. По поводу голосовалок в статьях лишь чуть выше отвечал ) Процитирую сам себя:

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

                                                                                                                                      По поводу тестирования — спасибо за предложение, обязательно напишу, если потребуется протестировать новую версию с возможностью не очевидных ошибок на старых прошивках.
                                                                                                                                      +2
                                                                                                                                      УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ ПРИЛОЖЕНИЯ!

                                                                                                                                      Большая просьба, если у вас есть аккаунт в контакте, присоединяйтесь к группе приложения. В группу также можно попасть через приложение — «Настройки -> О приложении -> Группа приложения в vk.com». Причина создания группы проста — я хочу соединить информационный поток о ходе работ, а также обсуждение пользователей, в одном месте. Многие люди пишут об одних и тех же ошибках или пожеланиях, и, чтобы не повторяться каждому в отдельности, пусть все обсуждение будет там.
                                                                                                                                      Возможно, в скором времени заведу твиттер-аккаунт — никогда им не пользовался, но это, пожалуй, идеальная площадка для коротких уведомлений о ходе разработки.
                                                                                                                                        0
                                                                                                                                        если бы еще для autokadabra.ru/ такое было — вообще классно было бы! :)
                                                                                                                                          0
                                                                                                                                          Напиши сам. вообще я хочу написать.
                                                                                                                                          0
                                                                                                                                          Приложение купил, хоть пользоваться буду вряд ли. Мне привычней отсеивать не интересное по заголовкам из RSS, а потом читать только то, что заинтересовало.
                                                                                                                                          А купил, потому что проникся уважением к автору. Такой энтузиазм не должен остаться не поощренным =)
                                                                                                                                          Сам давно лелею мысль научиться писать под андроид и сделать аналог десктопной Ауры. Хотя работа, семья + пару дней назад узнал, что супруга беременна… хз воплотятся ли эти идеи в жизнь.

                                                                                                                                          Allesad, нормальная цена в Маркете приложениям такого уровня 120-150 р.
                                                                                                                                          Готов доплатить =)
                                                                                                                                            0
                                                                                                                                            Благодарю за поддержку и поздравляю с новостью от супруги :)

                                                                                                                                            По поводу ценника — мне уже один товарищ в комментариях в маркете предложил «поставить ценник 250-500 и не париться». Но я считаю что такая цена высоковата даже для почти идеального приложения, коим мое пока еще не является. Возможно, в будущем я и подниму ценник (и вряд ли так высоко), но не раньше того, как доделаю основной функционал (комментарии, голосование, избранное и т.д.).

                                                                                                                                            А для благодарных пользователей всегда есть раздел «Помочь разработке» в настройках ;)

                                                                                                                                              0
                                                                                                                                              Угу, уже нашёл =)
                                                                                                                                            0
                                                                                                                                            В маркет выложен HabraCitizen v1.2. Изменения:

                                                                                                                                            • Исправлен баг с профилем авторизованного пользователя — сейчас все данные должны показываться нормально;
                                                                                                                                            • Исправлен баг с превью-картинкой авторского поста в списке постов для авторизованного пользователя. Автор поста видел не картинку из хабраката, а иконку редактирования своей статьи;
                                                                                                                                            • Опция настройки выравнивания текста добавлена в диалоговое окно настройки шрифта;
                                                                                                                                            • Убран фон в компоненте, который отображает посты, вопросы, события, информацию «О себе» в профиле пользователя. Компонент теперь везде имеет цвет фона, установленный в системе для выбранной темы;
                                                                                                                                            • Изменен цвет флажка «Recovery» — теперь он стал визуально отличимее от флажка «Из песочницы»;
                                                                                                                                            • Подсказка про выход из полноэкранного режима в постах и вопросах теперь показывается только 7 раз;
                                                                                                                                            • Добавлено окно со списком изменений при обновлении приложения. Окно показывается 1 раз после обновления, но также доступно из настроек: Настройки -> тап на версии приложения;
                                                                                                                                              0
                                                                                                                                              Зачем приложение поломали? У меня на планшете теперь посты не отображаются, при том ни текст ни картинки, но скроллится нормально. Комменты нормально отображает. Приходится на телефоне читать — на нем все ок :(
                                                                                                                                                0
                                                                                                                                                В android'e в компоненте WebView, который рендерит HTML, уже давно есть баг, возникающий при добавлении прозрачности в компонент. Намучался я с ним в последнюю неделю, но уже почти придумал фикс. Сейчас в группе приложения в vk.com набираю добровольцев-тестеров, на днях разошлю им пред-релизную версию, обсудим баги, сделаю исправления и выложу в маркет. А пока могу посоветовать отключить аппаратное ускорение в настройках устройства — должно помочь.
                                                                                                                                              0
                                                                                                                                              Попользовался. Имхо очень неудобно сделана закрузка постов — у загруженного поста нельзя обновить коментарии, а после этого при закрузке второй раз статьи почему то не отображаются новые коментарии — и если их много то очень неудобно выискивать новое…

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

                                                                                                                                                А по поводу новых комментариев в загруженных статьях — это потому что у Хабра нет API. Поясню — при авторизации Хабр использует 2 куки, определяющие авторизованного пользователя. Так как у Хабра нет API, мне приходится загружать странички с постами целиком, передавая в запросе куки. Единожды запрошенные с куками посты помечаются в базе как прочитанные, то есть все новые комментарии становятся «прочитанными». В этом случае, если я попытаюсь при загрузке постов «пачкой» передать куки, то все новые комментарии во всех статьях перестанут быть новыми, и будут помечены как «прочитанные». Именно поэтому, при загрузке постов через раздел «Загрузки», я не передаю куки в запросе — чтобы пользователи и после загрузки могли прочитать в разделах «Посты» и «Лента» новые комментарии.
                                                                                                                                                Поймите, без API я могу пользоваться лишь тем, что предоставляет веб-интрфейс Хабра. С API все было бы намного проще…
                                                                                                                                                  0
                                                                                                                                                  Мм, так ведь у меня было наоборот — статья была загружена. Было там 150 коментариев. Прочитал я их все, и через время захотелось прочитать что же еще написали. Захожу в ленту — и получаю 180 коментариев. И все прочитанные)
                                                                                                                                                    0
                                                                                                                                                    Гм, а вот это странно. При загрузке постов приложение вообще никакне учитывает «авторизованность» пользователя. То есть все не прочтенные комментарии должны оставаться таковыми даже после открытия «загруженного» поста. Вы точно уверены, что не открывали этот пост еще раз (например, при медленном соединении вы попытались открыть пост, запрос был отправлен, но сам пост загрузить не получилось)? Такой ситуации, как вы описали, по идее, не должно случаться.
                                                                                                                                                      0
                                                                                                                                                      А, да, в этом случае они все новые, и поэтому не отмечены как новые. Но если честно — это очень неудобно. Хотелось бы чтобы учитывалось все же.

                                                                                                                                                      И когда я тут пытался повторить, то при загрузке «Лента-Новое» я не нашел в загруженных последней статьи про Google Keep. В ленте вижу, в загруженных не было...:( И очень сложно было найти новые статьи которые уже читал в загруженных от тех что только что загрузил.
                                                                                                                                                      Вот :)
                                                                                                                                                        0
                                                                                                                                                        Я бы и рад сделать удобно, да без API приходится работать с тем, что есть :) Ждите дальнейших апдейтов, многие из предложенных идей я планирую реализовать вскоре. Но вот не всегда представляю как :)
                                                                                                                                                0
                                                                                                                                                Попробовал — лучше используемых до данного момента клиентов на мой взгляд.
                                                                                                                                                Купил полную версию. Отдельное спасибо за более чем адекватную цену.
                                                                                                                                                  0
                                                                                                                                                  Приложение обновилось до версии 1.3.

                                                                                                                                                  Из главных изменений — поддержка Android 2.2, исправленный баг с отсутствующими постами, а также возможность обновления уже загруженных постов и вопросов. Помимо этого еще множество мелких исправлений и улучшений. Подробный список изменений есть в приложении.
                                                                                                                                                    0
                                                                                                                                                    Спасибо за поддержку Android 2.2, просмотр новых постов работает даже на древнющем китайфоне со сборкой операционки из компонентов от 2.1 до 2.3.6
                                                                                                                                                    Подскажите пожалуйста, как же его купить можно? В маркете не нашел, а из приложения «авторизация» никуда не ведет.
                                                                                                                                                    Хотел было поругать за некорректный поиск, но проверив через ПК через браузер пришел к выводу что так, увы, поиск на самом деле и работает.
                                                                                                                                                    скриншот
                                                                                                                                                    image
                                                                                                                                                      0
                                                                                                                                                      Само приложение бесплатное, купить можно «полную» версию из самого приложения. Либо через Настройки -> Купить полную версию, либо зайдя в разделы «Авторизация» или «Загрузки» — тогда появится диалоговое окно с предложением купить (иначе эти разделы заблокированы). Что значит «авторизация никуда не ведет» — у вас не появляется окошко с покупкой? Тут могут быть какие-то проблемы с Android 2.2. К сожалению, тестирования на этой версии ОС практически не было (помогал эмулятор и один доброволец). Если что не так — пишите на почту, подробно разберем проблему.
                                                                                                                                                      А по поводу поиска — он показывает исключительно то, что показывает поиск на сайте. Я и не мог бы никак иначе организовать его, так как у меня нет доступа к хабровской базе данных и даже доступа к API (если он существует). Приходится работать только с тем, что можно увидеть через браузер.
                                                                                                                                                    0
                                                                                                                                                    Поставил приложение, тут же его купил. В целом выглядит удобным, но обнаружился один баг: если выполнить pull-to-refresh в пустой вкладке (с единственной надписью «Нет данных»), а затем во время загрузки повторить это, то поле с датой и надписью «Загрузка...» скрывается за экран и при последующих оттягиваниях и отпусканиях «прячется» обратно за экран.
                                                                                                                                                      0
                                                                                                                                                      Также, время от времени при выборе раздела из dropdown (например, захабренные/новые/отхабренные), при «оттягивании» вылазит надпись «Потяните для обновления», хотя через некоторое время надпись «Нет данных» сменяется загруженным списком.
                                                                                                                                                      Извините за некропостинг
                                                                                                                                                        0
                                                                                                                                                        Что касается техники pull-to-refresh, то ей заведует библиотека github.com/chrisbanes/Android-PullToRefresh и она, к сожалению, больше не поддерживается автором, так что единственная возможность поправить какие-то баги — покопаться в ее исходниках. Попробую это сделать, но без гарантии на результат, так как некоторые вещи на разных устройствах и версиях андроида ведут себя сильно по-разному :)
                                                                                                                                                        Что касается обновления через dropdown-списки, то тут уже мой косяк. Забыл добавить индикацию загрузки при выборе элемента списка, так что данные после выбора загружаются, но нету возможности узнать что это так, пока все не загрузится. В версии 2.0 постараюсь поправить (там очень много переделок будет).
                                                                                                                                                      0
                                                                                                                                                      Пользуясь случаем, хочу рассказать о том, что ведется работа над обновлением приложения до версии 2.0. В этой версии планируются следующие фичи:

                                                                                                                                                      — Комментирование постов и вопросов;
                                                                                                                                                      — Голосование за посты/комментарии/ответы, а также голосование в самих постах;
                                                                                                                                                      — Добавление постов и вопросов в «Избранное» (как на сайте);
                                                                                                                                                      — Планшетный режим;
                                                                                                                                                      — Разные виды списков постов (с картинками/только текст). Вдохновлялся подобной фичей в Feedle;
                                                                                                                                                      — Трекер;
                                                                                                                                                      — Диалоги;

                                                                                                                                                      Возможно, не все эти фичи будет реализованы (иначе разработка сильно затянется в силу отсутствия свободного времени), но я постараюсь реализовать максимум. Добавление в избранное уже работает в тестовой версии, равно как и голосование за комментарии (один раз я даже проголосовал через приложение).
                                                                                                                                                      Также хочу сообщить вот о чем — у меня нет никакого доступа к тестовым серверам, поэтом тестирование фич вроде голосования и комментирования придется проводить «вживую». Голосов за комментарии и посты у меня ограниченное кол-во, так что постараюсь ими не раскидываться, а вот комменты можно писать сколько угодно, но всегда надо думать, что откомментировать и что написать, чтобы не получить «по шапке». Поэтому я буду проводить тестирование в этой теме и прошу отнестись с пониманием к комментариям в стиле «тест 1», «бла-бла-бла» и прочее.
                                                                                                                                                        +1
                                                                                                                                                        Тестовый комментарий
                                                                                                                                                          0
                                                                                                                                                          Тест ответа на комментарий
                                                                                                                                                            0
                                                                                                                                                            Another test.
                                                                                                                                                          +1
                                                                                                                                                          Тест 2
                                                                                                                                                            0
                                                                                                                                                            Test
                                                                                                                                                              0
                                                                                                                                                              Тест ответа на коммент через Nexus 7
                                                                                                                                                                0
                                                                                                                                                                А можно тоже в тестировании поучаствовать? :) Хочется уже новую версию пощупать…
                                                                                                                                                                  0
                                                                                                                                                                  Да, конечно. Пишите на почту — allesad.dev@gmail.com. Но в новой версии еще пока много глюков и недоделок :)
                                                                                                                                                            +1
                                                                                                                                                            Тест 3
                                                                                                                                                              0
                                                                                                                                                              Test comment
                                                                                                                                                                0
                                                                                                                                                                Test
                                                                                                                                                                0
                                                                                                                                                                Testing response
                                                                                                                                                                  0
                                                                                                                                                                  123
                                                                                                                                                                    +1
                                                                                                                                                                    тест