создать новую тему раскрыть все
свернуть/развернуть ветвь Андроид клиент))) [maximus 22/12/2010 17:32] # написать ответ
 
Идея следующая: Приложение на андроиде, самое простое, которое будет учитывать только операции (приход, расход, перевод). А в конце дня за компом синхронизация или выгрузка, которая синхронизирует операции с AbilityCash. Думаю много мозгов не нужно чтобы написать такую прогу, очень удобно чем запоминать где что потратил. Кто за?)))
 
А если у Господина Dervish -а нет времени для создания такой программы, соберем команду или найдем человека который сможет реализовать это на андроиде, с derish -а только "открыть дверцы" как синхронизировать или добавить из выгрузки данные.
 
...кое что для этого сделаю уже в ближайшей сборке. Если нужен какой-то API, об этом можно договориться.
свернуть/развернуть ветвь Отлично... [maximus 22/12/2010 19:05] # написать ответ
 
Я бы занялся этим, но еще не приобрел "игрушку" на андроиде))), собираюсь в ближайшее время. Я думаю необходимо поднять новую тему, "Поиск программиста на Андрюше". Как я вижу этого клиента: "Это программулька которая будет работать с базой абилити на Андроиде с простейшими функциями (для начала, а потом нарастим функционал). Я думаю над выгрузкой: или наш клиент будет полностью совместим с базой на ПК(тогда можно базу переносить сразу на комп), или лучше это будет экспорт из Андрюши обновлять базу на ПК? Синхронизацию на прямую я пока не представляю как реализовать. Больше перспектив в первом варианте. Предлагаю обсудить! Потому что это будет наша программ!))
 
...как раз заключается в синхронизации. Я в свое время экспериментировал с ActiveSync-ом и имею представление как это все работает с коммуникаторами на операционках от майкрософт, а вот Андроиды и Айфоны для меня пока тайна за семью печатями. В общем, пока не попробуешь, не поймешь как это делать.
свернуть/развернуть ветвь о синхронизации.. [maximus 22/12/2010 23:00] # написать ответ
 
Сложность такой синхронизации будет заключаться в том, что нет общего стандарта. Сейчас каждый производитель телефонов на платформе Android, затачивает ось под себя: Виджеты свои, Обновление через свой сервер, Программы по синхронизации(HTCSync, Kies.). Google планирует с версии платформы 3.0 перейти на общий стандарт, посмотрим что из этого получится. Просто я еще думаю о том если программу сохранять на флешке т.е. базу тоже, то при подключении к ПК, запускаем какой-нибудь скрипт или программу которая обновит нашу базу на компе, ссылаясь на путь во флешпамяти смарта)))
свернуть/развернуть ветвь волнующий вопрос.. [maximus 22/12/2010 23:10] # написать ответ
 
возможно ли адаптировать базу под работу в Android? Участвуют ли какие-нибудь библиотеки Windows при работе с базой? Если да, то как это припаять к работе на Linux(Java) системе? Какие существуют варианты?
 
...о возможности адаптирования базы под работу в Андроиде потому что я пока ничего не знаю о внутренностях этой платформы.
 
Сейчас файл данных AbilityCash представляет из себя структурированное хранилище (IStorage-Compound File Implementation), в котором находится несколько потоков данных. Как я понимаю, на Андроиде нет такого хранилища. Это плохая новость.
 
А хорошая новость состоит в том, что у меня появилось желание изменить формат файла и хранить все данные в одном большом xml, который, в свою очередь, будет находиться в zip-архиве. Однако, пока это еще не сделано и, вообще говоря, переход на такую реализацию файла данных сопряжен с определенными трудностями. Вот пока такое желание у меня есть, и есть надежда сделать это в ближайшей сборке, но говорить о том, что это обязательно будет сделано я еще не стал бы.
 
Так или иначе, в ближайшей сборке я переделаю экспорт и импорт, там появится возможность писать собственные плагины. А такой плагин, к слову, может быть использован в том числе и для синхронизации. Ну, по крайней мере, с некоторыми переделками.
 
SQLite (http://sqlite.org/) много где используется (Firefox, смартфоны Nokia, Android...). Есть много разных портов, оберток, в т.ч. COM (LiteX, например). Здесь можно посмотреть подробнее: http://www.sqlite.org/cvstrac/wiki. Т.е. очень хорошо подходит в качестве формата хранения данных. Да и возможность делать запросы добавляет удобств.
 
Есть ли возможность получить описание текущего формата хранения данных (про Structured Storage я уже понял)? Зачем - ну открытость только добавит популярности. Есть желание использовать данные Cash напрямую в другой программе. Может быть еще у кого-то есть такие же потребности.
свернуть/развернуть ветвь Из личного опыта... [terra 07/02/2011 20:46] # написать ответ
 
Извините за дубль, но похоже в этой ветке мое сообщение будет более актуальным...
 
Андроид + XML база + zip ярхив - плохое сочитание.
Чисто технологически возможны проблемы с большими базами в будущем из-за ограничений платформы. А я знаю, что люди здесь ведут свои базы уже долгие годы, поэтому подозреваю, что перевод таких баз в XML выльется в мегабайты данных.
 
Суть проблемы: лимит операционки на каждый процес ~20-24 Мб в зависимости от версии ОС, соответственно: скачать зип-архив небольшого размера + распаковать его в памяти в большую XML-ку + распарсить и создать инфраструктуру соответствующих объектов в памяти может легко вылится в Out Of Memory. И это не смотря на всю мощь современных андроид-смартфонов с многоядерными процами и гигабайтами оперативки на борту! Поверьте - мы тоже были "слегка" в шоке...
 
Конечно - есть обходные пути, но, все-же, просьба учесть реальный опыт...
 
Насколько я понимаю, IStorage-Compound File Implementation - это тоже самое что Compound Document format, для которого на Java есть реализации, например http://poi.apache.org/poifs/index.html
С помощью этой библиотеки можно работать с форматами Word и Excel.
Если это так, то несложно будет написать wrapper для существующей базы Cash, но для этого конечно должна быть известна структура данных.
 
...лучше всего синхронизацию делать с использованием стандартных средств целевой платформы. Вот скажем, Windows Mobile (если не брать последнюю 7-ю серию, про нее я ничего не знаю) синхронизируется с данными десктопа при помощи ActiveSync, к которому можно написать плагины. Такая реализация была бы наиболее удобна для пользователей потому что для синхронизации достаточно лишь подключить устройство к десктопу и больше ничего делать не нужно. Не надо запускать специальные утилиты и все такое. Все синхронизируется само по себе.
 
Как с этим обстоят дела у Андроида, честно говоря, просто не знаю. Сам пока пользуют старенькой SonyEricsson XPERIA 1 и понемногу поглядываю в сторону айфонов и андроида.
свернуть/развернуть ветвь Насчет синхронизации [Evgeny 25/12/2010 08:45] # написать ответ
 
Для мобильного устройства замечательно было бы реализовать синхронизацию "без проводов" — по интернету.
Можно разместить базу на одном из сервисов вроде Dropbox, которые позволяют синхронизировать несколько компьютеров, надо только предусмотреть, чтобы она не портилась от одновременной работы с нею, например, с помощью блокировки. У меня сейчас так настроена синхронизация AbilityCash на нескольких компьютерах, пришлось написать дополнительную программу, которая занимается блокировкой.
свернуть/развернуть ветвь Очень хорошая идея! [maximus 27/12/2010 10:29] # написать ответ
 
Расскажи пожалуйста принцип работы программы, занимающейся блокировкой!
свернуть/развернуть ветвь Блокировка [Evgeny 28/12/2010 09:07] # написать ответ
 
Если работать по протоколу WebDAV, то там механизм блокировки встроенный. Этот протокол предоставляется службой Dropbox, бесплатно.
свернуть/развернуть ветвь т.е.... [maximus 28/12/2010 14:30] # написать ответ
 
Т.е. протокол WebDAV не даст записать (или открыть для чтения?) файл базы данных, если существуют подключения к ней с другого ip?
свернуть/развернуть ветвь синхронизация [Илья 29/01/2011 16:55] # написать ответ
 
Надо не париться с синхронизацией, а использовать dropbox и работать с одной и той же базой. Тогда никаких проблем не будет. Был бы формат базы данных открытый (почему в sqlite не сохранять?) - давно бы уже всяких утилит понаписали, и для создания отчетов и мобильных клиентов и чего угодно.
 
Как мы можем помочь процессу? может деньгами можем как то скинутся или еще как то? я готов. Дайте платную версию, все что угодно..
свернуть/развернуть ветвь +1 [савапо 24/12/2010 01:28] # написать ответ
 
за
 
свернуть/развернуть ветвь я умею :) [Lichtgestalt 20/02/2011 12:53] # написать ответ
 
Снова нашлось время зайти сюда (сначала я отвечал в теме "Программисты Android..")
Я по-прежнему готов наваять весь UI, а если совсем некому будет работать с БД, то и эту часть.
Только давайте же что-то делать, а не ждать - все желание испаряется от отсутствия движения.
Может кто-нибудь возьмется накидать в powerpoint, или еще чем-нибудь, хотя бы примерно, как все должно выглядеть?
 
П.С. Активно поддерживаю перевод базы на SQLite, в т.ч. и в версии для ПК.
 
я не программист, но готов помочь чем могу. В том числе и финансово!
свернуть/развернуть ветвь Поддерживаю полностью [Иван 03/02/2011 20:00] # написать ответ
 
Я сам уже замучился с поиском нормально работающей программы под Андроид. Купил anMoney. Буду от нее отказываться, т.к. автор прилепил какие штуки, которые по его заявлению "не работают и на работу не влияют". Подход по меньшей мере странный ...
Я собственно тоже поддерживаю создание программки для Андроид. Кстати, такие программы достаточно востребованы. Я юзаю Андроид 1,5 месяца - после Нокии в восторге, но качественных программ на Маркете на самом деле немного.
 
Сперва проникся сервисом и софтом homemoney но
К сожалению про #homemoney пока что придется забыть.. после внесения всех операций я произвел синхронизацию, "все пропало"
Кроме того очень многих возможностей там нет, а я к ним привык после AC
свернуть/развернуть ветвь Android клиент [Samver 09/06/2011 13:04] # написать ответ
 
Добрый день! Может попробовать два пути:
1) Клиент Лайт - используется только для сохранения текущих доходов/расходов, чтобы записать необходимое "на месте". В памяти держатся только актуальные показатели счетов (чисто информационная часть).
Все это дело синхронизируется при подключении телефона к компьютеру на котором находиться база.
Происходит это так:
- в "большой" программе нажимается "кнопка"
- программа через adb shell получает доступ к телефону, находит необходимый файл данных в папке \sdcard\data\abilitycash\
- выгребает в "большую" базу новые "документы" с телефона, после чего из базы загружаются в мобильник актуальные показатели по счетам, всё
Мне такого варианта будет "за глаза", т.к. и сейчас я имею доступ к базе только на компе.
Плюс, как вариант, похожая синхронизация с дропбоксом, для тех кто не страдает паранойей и хранит данные в "облаке" Well
2) Клиент ПРО/dropbox - работает только с dropbox'ом, клиент имеет полный доступ к существующей базе находящейся в "облаке" dropbox'а со всеми вытекающими.
 
...на первый путь. С небольшой особенностью: надо как-то сокращать время ввода операции, если человек вводит ее в коммуникатор, то, как правило, это будет делаться "на ходу", а значит, чем меньше будет усилий для ввода, тем лучше. Поэтому, мне хотелось сделать что-то вроде шаблонов операций, которые должны работать и на большом компьютере и на наладоннике. Основная идея шаблона состоит в том, что шаблон имеет название и уже заполненные некоторые поля. А пользователю достаточно будет выбрать шаблон по названию и ввести только то, что не хватает, например, сумму операции и все.
 
Второй путь, честно говоря, мне не очень нравится. Не знаю как кто, а лично я не хотел бы хранить свою платежную информацию в сети. Вне зависимости от того, насколько сильно бьет себя в грудь поставщик сетевых услуг доказывая, что данные у него надежно защищены и никуда не уйдут.
 
Под Android есть приложение Financisto, по функционалу где-то похоже на Cash. Оно с открытым исходным кодом, можно допилить и использовать как клиент.
 
Идея с файловой синхронизацией - секьюрно конечно, но всё-таки это костыль. Лучше уж полноценно через интернет. А для параноиков можно выложить инсталляшку сервера синхронизации, которую можно поставить дома и синхронизировать только со своим сервером.
 
У меня есть опыт в разработке под Android, .Net (можно сделать на нём серверную часть). Если будите активно работать в этом направлении, пишите на email, с удовольствием поучаствую.
 
Я веду для этих целей в мобильнике простую заметку, куда записываю только суммы и краткие комментарии в одно-два слова. Только чтобы не забыть. Потом, раз в один-два дня сажусь и переписываю всё в программу, руководствуясь заметкой.
Поэтому предлагаю так:
Мобильная часть совсем мини: она запоминает сумму и комментарий. Может быть ещё галочку "приход/расход" Тут чем быстрее, тем лучше. При удобном случае все записи из наладонника импортируются в хост, но не в базу, а в эдакий промежуточный стек. После импорта пользователь видит диалог с первой из импортированных операций. Он может её подредактировать, проставить счета, классификаторы, кому чего нужно, и нажатием кнопки отправить операцию в базу и перейти к следующей. Или пропустить операцию, тогда она остаётся в стеке необработанных и к ней можно вернуться позже. Или удалить её, ну и так далее. Если вдруг появились ещё данные для импорта, они просто добавляются в стек и спокойно ждут там своей очереди.
Как реализовать обмен данными не знаю, ни разу не сталкивался с такими вещами. Но мне видится такой простой способ: операции на мобильном клиенте сливаются в файл, этот файл передаётся на хост, хоть по вайфаю, хоть по блютусу, хоть перфокартами. А там даблкликом на файле открывается AbilityCash, и сразу предлагает разобрать импорт.
свернуть/развернуть ветвь Android+AbilityCash [Eugene Kaurov 10/01/2012 01:10] # написать ответ
 
то есть, все что надо -- это возможность в андроиде быстро добавлять расходы. И при случае их синхронизировать - отправлять в локальную абилити-кеш.
это охорошо бы реализовать как через импорт CSV-файла операций с последующим их ранесением.
 
было бы здорово отправлять в мобильник список категорий и проектов, но не обязательно.
 
считаю, что 50ть операций, накопленных за неделю и категории не являются секретной информацией, так что такую синхронизацию вполне можно делать через интернет.
 
Если позволите, Берусь быть проект-менеджером.
 

SyCraft обещал финансирование
Lichtgestalt обещал Android-часть (собственно, для генерации CSV достаточно серверной части с online-доступом, но для удобства промежуточного хранения данных пока пользователь оффлайн)
[Собственно, про всё это [Ivan 28/09/2011 17:05] ] обещал серверную часть и подстраховать Android-часть
[Dervish 22/12/2010 18:35] пообещал "Я готов "открыть дверцы", то есть реализовать импорт файла, который мы будем генерировать. И считаю его обязанным реализовать возможность подключаться к серверу проверять есть ли обновления такого файла (HTTP GET)
Я берусь организовать проект и подстраховать серверную часть.
 
Вопросы Дервишу:
1.надо ли это.
2.дадите ли контакты приведенных тут людей
3.выполните ли свою часть.
 

 
 
1. Клиент для смарта давно нужен. Кроме того, я тоже думаю, что основное предназначение программы на сматрфоне, это именно ввод данных. Делать анализ на маленьком экране лично я не буду никогда, лучше поберегу свое зрение.
 
2. И рад бы дать контакты приведенных людей. Но я, честно говоря, ими не располагаю. Для того, чтобы писать в этот форум, никакой регистрации не требуется. Хотя, если кто-то зарегистрировался и оставил свой e-mail, тогда я могу написать этому человеку и спросить, не будет ли он возражать, если я дам его координаты третьему лицу.
 
В любом случае, если не затруднит, напишите мне на мой e-mail, лучше это обсудить в личной переписке.
 
3. А моя часть практически выполнена. Уже. В (пока) отладочной сборке 224 (и во всех последующих) уже работает и будет работать импорт данных в xml. Если программа для смартфона будет генерировать такой xml, все будет работать верно. Если нужны консультации по xml, который требуется для импорта, я открыт к диалогу. Сделаю все что в моих силах.
свернуть/развернуть ветвь Не AbilityCash, но всё же... [Дим(м) 13/10/2011 21:46] # написать ответ
 
Вот парочка, вроде, неплохих приложений под андроид для учёта финансов:
http://www.appbrain.com/app/hello-expense/com.helloexpense
http://www.appbrain.com/app/expense-manager/com.expensemanager
 
Это, конечно, не AbilityCash, но, наверное, через импорт-экспорт можно будет наладить обмен...