От Mikl
К All
Дата 01.05.2015 23:50:43
Рубрики Прочее; Современность; Администрации;

А вот кому Аndroid клиент для чтения форума ?

Дошли наконец руки до написания простенькой андроид-читалки vif2ne
просьба ногами не бить - я не андроид разработчик, и не дизайнер
взять можно здесь
https://yadi.sk/d/Yb7PxR8SgNnUG
Сорцы лежат здесь
https://github.com/zheludkovm/VifNavigator

В требованиях - android 4.4 и выше
(в руках есть телефон с пятым андроидом и планшет с 4.4)

Немного о клиенте :
он скачивает основное дерево форума, разбирает его и показывает
также хранит историю просмотренных сообщений (пока стоит 20 дней)
сообщения заранее не скачиваются - только по клику
Написан на clojure - поэтому запускается довольно долго (издержки технологии)
стартовая заставка - пока стандартная от lein-droid, потом надо найти что-нибудь интересное

Это первая версия, еще много чего надо будет сделать
(сортировка деревьев по времени последнего ответа, настройки, отметить всю ветку как прочитанную и т.д.)


От KAO
К Mikl (01.05.2015 23:50:43)
Дата 03.05.2015 00:36:45

Re: Отличное начинание! (+)

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

Так что приложение будет востребовано!

От Hamster
К Mikl (01.05.2015 23:50:43)
Дата 02.05.2015 14:48:26

Спасибо!!! (-)


От Mikl
К Mikl (01.05.2015 23:50:43)
Дата 02.05.2015 11:21:26

Добавил сортировку веток

Сейчас ветки сортируются по времени последнего сообщения в ветке.
Ветки помеченные болдом добавляются сверху.

От hyd
К Mikl (01.05.2015 23:50:43)
Дата 02.05.2015 08:51:46

Re: А вот...

А почему в Google Play не опубликуете? Было бы гораздо проще.

От Mikl
К hyd (02.05.2015 08:51:46)
Дата 02.05.2015 11:26:56

Пока это любительский проект "для себя"

>А почему в Google Play не опубликуете? Было бы гораздо проще.

Он не на таком уровне чтобы его тащить в Google play...


От hyd
К Mikl (02.05.2015 11:26:56)
Дата 02.05.2015 12:26:44

Re: Пока это...

>Он не на таком уровне чтобы его тащить в Google play...

Между нами говоря, тащут и не такое, а и гораздо более страшное.

Начинание вполне замечательное.

От hyd
К hyd (02.05.2015 08:51:46)
Дата 02.05.2015 08:56:07

Re: А вот...

Просто "ручная" установка .apk никак не способствует популярности.

Хотя дело - нужное. В браузере, на планшете, форум выглядит так себе.

От Novik
К Mikl (01.05.2015 23:50:43)
Дата 02.05.2015 01:42:03

Re: Так делать не нужно.

Приветствую.

>Немного о клиенте :
>он скачивает основное дерево форума, разбирает его и показывает
>также хранит историю просмотренных сообщений (пока стоит 20 дней)

В смысле, разбирать html дерево. Можно сразу получать дерево и его обновления в виде xml.
Тут посмотрите -
http://vif2ne.ru/nvk/forum/0/arhprint/2452247

От Mikl
К Novik (02.05.2015 01:42:03)
Дата 02.05.2015 11:23:49

Re: проглядел наличие API :(

>В смысле, разбирать html дерево. Можно сразу получать дерево и его обновления в виде xml.
>Тут посмотрите -
http://vif2ne.ru/nvk/forum/0/arhprint/2452247

Да, с API все намного лучше.
Буду дорабатываться.

От Novik
К Mikl (02.05.2015 11:23:49)
Дата 02.05.2015 13:03:34

Re: Краткое описание.

Приветствую.
>Да, с API все намного лучше.
>Буду дорабатываться.

Сервер хранит массив последних событий в дереве, до 4К элементов, при переполнении старшая половина массива чистится.
Запрос выдается в форме /nvk/forum/0/tree?xml=lastEvent
где lastEvent - id события, с которого осуществляется выдача (не включительно). Если lastEvent==-1 то выдается массив целиком.
Если события с таким id не найдено, отдается 201 Protocol mismatch с пустым телом ответа.
В противном случае ответ включает в себя секцию [lastEvent] где прописан id последнего события и ряд событий.
Формат события
1) Добавление статьи в ветку
[event no="%X" type="add" parent="%X"]
no - id статьи в шестнадцатеричном виде
parent - id родителя статьи в шестнадцатеричном виде
Далее элементы [title], [author], [date], [size] (в байтах) и [crc] (CRC статьи, adler32 от мета-данных статьи)
2) Удаление статьи
[event no="%X" type="del" parent="%X"/]
3) Смена родителя
[event no="%X" type="parent" parent="%X"/]
4) Фиксация ветки в дереве
[event no="%X" type="fix" mode="%u" /]
Возможные значения mode
0 - закрепление ветки убрано
1 - закрепление ветки с прибитем кверху
256 - закрепление ветки без прибития кверху

Прочее.

Запрос ответов на статью в xml форме, формат тот же, что и выше, будут только события типа "add", пример
http://vif2ne.ru/nvk/forum/0/co/2692768.htm?xml

Выдача текста статьи без layout, пример
http://vif2ne.ru/nvk/forum/0/co/2692768.htm?plain

Получить список пользователей, имя которых начинается с подстройки name (не менее 3 символов), нужна авторизация, пример
http://vif2ne.ru/nvk/forum/0/security/peoplelist?xml=1&name=Nov

P.S. Ввиду того, что обработку html entities я в свое время реализовал криво, квадратные скобки в тексте выше нужно заменить на угловые.

От Novik
К Novik (02.05.2015 13:03:34)
Дата 02.05.2015 13:19:48

Re: Краткое описание.

Приветствую.
И да, если запрос оспровождается авторизацией то к возвращаемым событиям дерева применяются все фильтры пользователя (список игнорирования, отслеживаемые топики и т.п.)

От Mikl
К Novik (02.05.2015 13:19:48)
Дата 02.05.2015 13:30:01

Спасибо за спецификацию.

На первый взгляд все понятно.