суббота, 22 февраля 2014 г.

C# Парсер новостей ВКонтакте OpenSource + Приложение для уведомлений ВК

Была задача: уведомлять пользователей  некоторой группы ВК через ВК приложение о важных новостях помеченных определенным #Хештегом.
Не нашел лучше решения чем создать два приложения:
1) StandAlone для доступа приложения к закрытой группе, но даже если группа не закрытая без него не обойтись для получения списка юзеров группы;
2) Native приложение для рассылки уведомлений. Те кто хочет получать уведомления, должен установить его.
Были получены acces_token'ы для каждого приложения (подробнее в исходном коде проекта).
Получая доступ к группе через StandAlone приложение моя программа работая на ПК(а лучше на сервере) каждую минуту парсит последнюю новость из группы и проверяет, через импровизированную XML "базу данных" не отсылалось ли уведомление о ней участникам данного сообщества, если не отсылалось, то соответственно отсылается используя Native приложение, и ID поста записывается в XML файл.
Примерно так это выглядит в программе:
Проект на GitHub: https://github.com/Jonybang/Parser_VK.git
Читать далее

вторник, 4 февраля 2014 г.

Личные финансы Open Source проект приложения на Windows Phone

Итак закончена первая полноценная версия приложения, добавлены возможности:
- изменения любого из счетов вручную;
- удаления любой из последних операций;
- создания пароля на вход в приложение
при установленном пароле, при запуске приложения будет открываться данная страница
, хотя пока не представляю каким образом будет происходить восстановление при забытии пароля, скорее всего это будет возможно после того как я введу синхронизацию с личным облаком пользователя(скорее всего SkyDrive, хотя уже наверно OneDrive...). В таком случае, когда пользователь захочет сбросить пароль, вся информация на телефоне удалится, после этого можно будет восстановить все свои данные из облака.
На скрине выше видно "Режим демонстрации" - это опция позволяющая продемонстрировать, посоветовать приложение любому человеку не показывая свои финансы. При открытии режима можно будет записать доходы, расходы не влияющие на информацию из основного режима.
Также добавлен график, демонстрирующий изменение суммы счетов со временем
планируется добавление каждого из счетов как отдельной линии.
С трудом выложил проект в GitHub:
Также приложение выложено на 4pda:
Выложил приложение в Магазин Winows Phone, пока как бета версию потому как остались небольшие недоделки, сомневаюсь в некоторых моментах.
Читать далее

среда, 22 января 2014 г.

Приложение Личные финансы на Windows Phone с диаграммами, графиками

Продолжаю работать над приложением "Личные финансы". Сделал разделение по счетам

и парочку диаграмм:
На гифке круговые диаграммы и стрелочки оказались довольно страшненькими. Пока не могу найти средство для нормального захвата видео с экрана, редактирования и преобразование в качественную гиф... Но на скрине ниже видно что диаграммы на самом деле красавицы:
Только надо будет поработать с цветовым соотношением, не очень нравится. Кстати для визуализации графиков/диаграм на Windows Phone я использовал бесплатное решение: AM Quick Charts (долго не мог найти).
Вообще моя цель сделать минимально нагруженное приложение учёта расходов/доходов чтобы человеку не пришлось начинать задумываться каждый раз когда он видит, допустим, вот такой список опций:
Приложение myMoneyBook
Я лично испугался до того как успел подумать и осмыслить что передо мной появилось на экране.
Или вот такое нагромождение мне тоже не понравилось:
Приложение Дребеденьги
Тем более что расходы и доходы на разных страницах, как например ещё здесь:
Приложение Финансовый счетчик
По мне так это минус к наглядности последних операций.
А в приложении ниже я достаточно долго не мог найти как учитывать доходы, стартовая страница даёт слишком много *сарказм* сведений о том что будет дальше и что мы в данный момент делаем.
Приложение HomeMoney
Какая логика например в том что я могу нажать галочку до того как набрал сумму, пусть выдаётся ошибка, но зачем она там нужна для меня остаётся загадкой.
Ко всему вышесказанному я не смог найти ни в одном из подобных приложений все необходимые графики/диаграммы, либо они выражены в таблицах, либо не все, либо вообще нет. А я хочу графики!
Захотел, сделал, только пока не все, планируется ещё:
-график демонстрирующий взлёты и падения суммы счетов с течением времени на определённом промежутке(неделя, месяц и т.д.);
-график демонстрирующий суммы на счетах сегодняшним днём поверх сумм которые были месяц назад, то-есть, как мне кажется в идентичной ситуации, например:
За неделю до зарплаты в прошлый раз у меня было 5 тысяч, а в этот раз 2 тысячи, с каждым месяцем я всё больше трачу(допустим).

В общем стремлюсь сделать такой интерфейс, чтоб с минимальным количеством манипуляций записать последние операции. А все редко используемые функции спрятать или в контекстное меню или в выдвигающиеся меню с иконками.

В принципе это была бы готовая для магазина приложений версия за исключением пары финальных штрихов и одного существенного недостатка: не реализована многопоточность, совершение операций сериализации и десериализации в фоне. Особенно это сказывается на загрузке диаграмм расходов и доходов, которым приходится последовательно загружать каждый файл с данными прошедшего дня для подсчётов, что в итоге даёт загрузку главной страницы временем от 3-х секунд и больше на устройствах с оперативной памятью 512 Mb.
В общем над оптимизацией ещё работаю. 
По завершению попробую выложить проект на GitHub, с первого захода ничего не понял))
Читать далее

четверг, 16 января 2014 г.

Личные финансы - приложение на Windows Phone

Решил сделать своё приложение на Windows Phone для учёта личных финансов потому-что ни одно из оформлений подобного приложения из Магазина WP мне не понравилось. Некоторые слишком нагромождённые, у некоторых непонятно куда данные вводить, некоторые требуют слишком много информации, у других слишком мелкие элементы.
Поэтому, хочу представить "My Finances v.1.0", скорее всего так назову её в Магазине, а на русском: "Личные финансы".
Итак, стартовая страница:
В текстовое поле вводится значение дохода или расхода, и нажимается соответствующая кнопка. Открывается страница со списком имён расходов или доходов.
На этой странице можно переименовывать, добавлять, удалять элементы. 
Здесь фишка в том, что чем чаще ты выбираешь какой-либо пункт, тем выше продвигается он в списке, такой своеобразный топ-лист. Таким образом, те расходы/доходы, которые чаще всего возникают не теряются в подвалах списка и пользователю не приходится в ручную сортировать пункты по важности. Мне этого очень не хватало в просмотренных мной программах.
После выбора одного из пунктов осуществляется переход обратно, на главную страницу с уже изменившимся значением "Текущего счёта" и добавленной статьёй в верх списка.
Текущий счёт можно изменять в ручную без какой-либо статьи расхода или дохода, что иногда может пригодится.
В ближайшей перспективе планируется разделение по счетам (будет представлять из себя такой же список как и доходы/расходы, и идти сразу после него) и графики, несколько графиков: на что и когда чаще всего тратишься, откуда больше прибыли идёт(если ты фрилансер допустим). Ну в общем я думаю лишними графики не будет, тем более что я просто их хочу, вот и всё.
Думаю сегодня завтра продолжу написание программы, впереди ещё экзамены, так что особо погрузится с головой не получится.
Моя девушка сварганила на скорую руку логотип, думаю он и будет использоваться для тайла.
Да, и мне вызвался помочь хороший знакомый с написанием программы и портированием на Android, ну, было бы неплохо)

Читать далее

IPad Mini. Джейлбрейк, установка приложений и игр бесплатно.

Эта статья не имеет никакого отношения к программированию, просто опыт в прошивке(если её так можно назвать) устройства Apple.
В этой статье описан процесс установки ДжейлБрейка и всего необходимого(AppSync, iFile, afc2add, vShare, iTransmission) для возможности спокойно устанавливать платные приложения и игры бесплатно от начала(чистого устройства, в моём случае  IPad mini Wi-Fi(1432)) и до конца: пробной установки приложения.
Статья предназначена для людей ещё не знакомых с джейлбрейков и  прочим пиратством на iOS. Статья не претендует на универсальность, написана потому что не было найдено подобных инструкций "от и до" со всеми работающими ссылками и пр.
Итак чтобы поиграться в халявные игрушечки на iOS 7.0.4 нужно:
1) Поставить Jailbreak, например с помощью evasi0n;

2) По завершению джэйлбрейка будет поставлена приложение Cydia, которое позволяет устанавливать твики - приложения, которые по той или иной причине не прошли требования AppStore и помещены в самостоятельные репозитории на различных сайтах.
ЗАМЕЧАНИЕ которого нет в FAQ. Проблема с которой я столкнулся:
установка evasi0n7 1.0.4 вылетела на "modify rootfs" и не дошла до сообщения Done:

в следствие чего на экране IPad не появилось значка Cydia и остался значок evasi0n7(чего не должно быть).
Решение: попробуйте поставить версию 1.0.2, у меня сработало, правда пришлось сделать ДФУ.
3) Чтобы была возможность устанавливать платные приложения бесплатно необходимо установить AppSync for iOS 7. Для этого нужно в Cydia подключить необходимый репозиторий, в котором находится данный твик, найти и установить его.
4)После этого нужно установить vShare(например) - менеджер бесплатных приложений. Вы можете установить его из какого-либо репозитория в Cydia либо скачать с домашней страницы
с помощью вашего Apple устройства, либо добавить через iTools(о нем чуть позже).
5) На страничке 4pda сказано что если есть определённая строчка в файле host то нужно её удалить. Сначала я пытался отредактировать файл через iFile - твик - условно бесплатный менеджер файлов.
Но у меня, ясное дело, не получилось(но iFile пригодится позднее) потому как редактировать его нужно через утилиту, установленную на компьютере - iTools- аналог iTunes для джейлбрейкнутых устройств(как я понял).
6) НО невозможно зайти в каталоги системных файлов:

без специального твика: afc2add, который можно найти просто воспользовавшись поисковиком в Cydia, по аналогии с iFile.
7) После этого желательно не просто изменить файл используя iTools, а скопировать его на компьютер, изменить там, и веруть обратно с заменой, как рекомендуют на форумах.
8) НО, если после всех этих манипуляций vShare не качает, выдаёт ошибку: "Источник изменился попробуйте, перезакачать." не пугайтесь, это проблемы с загруженностью сервера vShare, у некоторых работает, у некоторых не работает.
9) Итак, у вас не закачивает приложения vShare, не торопитесь его удалять, я могу предложить:
а)воспользоваться аналогами: Ipainstaller, Pphelper, AppAddict.
Примечание: Если качаете .deb файл тогда его можно установить через iFile(долгий тап, установщик), если вернул код 0:

значит приложение установилось, перезагрузите устройство.
Я считаю что эти приложения ненадёжны, у некоторых работают, у некоторых нет(как vShare), сервера могут быть загружены, почищены, так что я искал решение дальше.
б)качать файлы .ipa с различных сайтов и устанавливать через iTools что достаточно легко и надёжно, но приходится использовать компьютер, что меня не впечатляет.
в)Вариант на котором я остановлюсь: искать торренты, качать торрент файлы и пользоваться торрент клиентом на устройстве Apple, для iOS 7:
Название твика: iTransmission 3
Версия: 3.3
Поддерживаемая версия iOS: iOS 6, iOS 7
Устройства: iPhone, iPod, iPad
Описание: Клиент для работы с torrent-файлами
Репозиторий: ModMyi (базовый)
устанавливать по аналогии с AppSync.
Использование: Скачиваем через Safari(например) торрент файл, открывается страничка с запросом: через какое приложение открывать,

выбираете iTransmision и торрент файл успешно начинает качаться. После закачки можно посмотреть куда поместился файл, открыв его сведения:

обычно это /var/mobile/Documents/Downloads.
Открываете iFiles, заходите в нужный каталог -> долгий тап -> открыть в vShare.

vShare в свою очередь откроется и не будет подавать признаков установки, однако приложение будет устанавливаться в фоне и через некоторое время выйдет соответствующее сообщение.
Для меня этот вариант более предпочтителен и удобен, остановлюсь на нём,
есть ещё несколько вариантов установки .ipa приложений, которые я не рассматривал:
- с помощью  Safari Download Manager;
- тут ещё несколько(включая варианты без Джэилбрейка).

Читать далее