Lazy Shopper - список покупок

LazyShopper - новое функциональное приложение, позволяющее создавать и манипулировать списками покупок на Вашем смартфоне. Отличительной особенностью данного приложения является простота работы со списками, возможность формирования шаблонов/рецептов, расширенный функционал и работа с группами элементов списков, красивый и лаконичный дизайн, тонкая настройка под пользователя. Большой встроенный словарь товаров позволит Вам ускорить создание списков. Используя встроенный виджет, вы всегда будете видеть информацию о состоянии списков, а напоминания  позволят не пропустить важные покупки.

Возможности:
  • Ведение неограниченного количества списков в 3 категориях: активные, отложенные и  шаблоны;
  • Возможность определения элемента списка со следующими параметрами: количество товара; единицы измерения; цена (автозаполнение последней введенной); персона, для которой производится покупка; магазин, где необходимо произвести покупку;
  • Ведение и модифицирование пользовательских словарей: товары, группы товаров, единицы измерения, персоны, магазины;
  • группировка элементов списков по группам товаров, магазинам, персонам;
  • фильтрация списков по различным параметрам;
  • экспорт и импорт списков различными способами;
  • менеджер бакапов/восстановления рабочей базы данных;
  • цветовые схемы;
  • напоминания о предстоящих покупках;
  • виджет состояния списков покупок, показывающий количество не купленных товаров и количество активных напоминаний;

Исходя из названия, понятно, что это приложение предназначено для ведения списка покупок, облегчения этого процесса для ленивых пользователей смартфонов:). Вы меня спросите, чем это приложение отличается от других подобных, которые  в достаточном количестве представлены в Маркете? Ниже я попытаюсь показать Вам, что это приложение обладает расширенными функциональными возможностями, приятным, настраиваемым дизайном и постоянной поддержкой, что гарантирует развитие приложения в дальнейшем.

Списки листов покупок
Давайте рассмотрим функциональность LazyShopper подробнее. Основной экран содержит 3 закладки, которые позволяют определять списки 3 типов: активные, отложенные и шаблоны. Активные списки - это списки покупок, готовые для похода в магазин. Отложенные - это черновики списков, которые будут формироваться позднее. Хочется отметить, что функциональность этих двух список абсолютно одинакова. Просто для удобства пользователя, они разнесены на два состояния. Последний тип "Шаблоны" может использоваться для формирования списков-шаблонов, которые в дальнейшем могут стать основой других списков. Это могут быть рецепты для блюд, списки часто покупаемых продуктов и прочее, на что хватит Вашей фантазии. Функционально, этот тип списков отличается от предыдущих двух тем, что в этих списках для продуктов не задается состояние куплено/не куплено.

Для списков всех типов (долгий тап на списке) доступны операции копирования, перемещения списков на другие закладки, или создание дубликатов списков внутри текущей закладки.

Меню справочников
В верхней правой части расположена кнопка вызова меню справочников. Под справочниками будем понимать однотипные списки данных, которые участвуют в работе приложения: товары, группы товаров, единицы измерения, персоны, магазины.

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

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

В верхней правой части экрана расположена кнопка поиска/установки фильтра по наименованию. При нажатии на нее появляется окно поиска, в котором вы можете задать лицо искомое слово целиком, либо часть слова. Результат отображается здесь же в списке. Важно отменить, что поиск осуществляется как по наименованию товаров, так и по группам товаров. К примеру, для фильтрации группы "Алкогольные напитки" достаточно ввести "алк". Количество найденных элементов будет отражено в нижней части. Рядом с кнопкой поиска появится кнопка отмены фильтра.

Активные/неактивные товары
Элементы справочника товаров могут находиться в двух состояниях: активном и неактивном. В неактивном состоянии, товар не будет доступен для выбора в режиме формирования списка покупок. Таким образом вы можете исключить товары, которые Вы никогда не будете покупать. В справочнике товаров неактивные элементы выделяются серым цветом. Для перевода товара из активного в неактивное состояние (и наоборот) используется контекстное меню (длинный тап на элементе списка), либо через групповые действия.

Работа с выделенными элементами
В справочнике товаров вы можете работать как с отдельным элементом, так и с группой. Для этого необходимо выделить элементы, с которыми будет производится действие (справа от наименования товара) и нажать кнопку работы с группами (слева внизу).  Перечень действий с группой выделенных элементов следующий:
  • Выделить все
  • Снять выделение у всех
  • Инвертировать выделение (для выделенных)
  • Выделить элементы группы
  • Выделить все неактивные
  • Удалить выделенные
  • Установить как неактивные (для выделенных)
  • Установить как активные (для выделенных)
  • Установить группу товаров (для выделенных)
  • Установить ед.измерения (для выделенных)
  • Очистить рейтинг (для выделенных)

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

Режим работы со списком покупок

Наконец,  рассмотрим основной режим, в котором формируются списки товаров и ставятся отметки о состоянии покупки. На экране Вы можете видеть 4 закладки: список, группы, персоны, магазины. Закладка "список" позволяет видеть список товаров в алфавитном порядке. Купленные товары могут перемещаться в конец списка (при соответствующей отметке в настройках). На закладке "группы" товары группируются по группам товаров. Закладки "Магазины" и "Персоны" позволяют просматривать текущий список, сгруппированный по магазинам и персонам соответственно.

Такая организация просмотра списка очень удобна в разных ситуациях. Находясь в конкретном магазине, Вы можете открыть закладку "Магазины" и контролировать что было куплено именно в этом магазине. Находясь на рынке, вы можете открыть закладку "Группы", и видеть какие из овощей еще не куплены. А на закладке "Персоны" видеть что Вы забыли купить ребенку, и тем самым избежать его слез:)

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

Текущий режим может быть в 2х состояниях: в обычном режиме и режиме работы с выделенными элементами. Переход из одного режима в другой осуществляется нажатием кнопки в левой нижней части экрана, и выбором в появившемся меню пункта "Режим редактирования" или "Режим редактирования OFF" соответственно.

Меню "обычного" режима
Обычный режим - это режим в котором Вы можете добавлять/изменять элементы списка, отмечать не купленные, снимать отметки с купленных товаров. Этот режим активируется при открытии текущего списка покупок.
Собственно  этот режим является основным рабочим режимом, с которым Вам придется иметь дело при совершении покупок.

Перечень операций, которые Вы можете сделать в данном режиме следующий:
  • Инвертировать купленные - товары отмеченные как купленные превращаются в не купленные, и наоборот
  • Установить все как не купленные
  • Установить все как купленные
  • Удалить все купленные
  • Удалить все не купленные
  • Режим редактирования - переход в режим редактирования и групповой работы с выделенными товарами

Меню режима редактирования
При входе в режим редактирования, справа от товара появляется checked, позволяющий отмечать текущий элемент списка  для совершения действий с группой отмеченных товаров. В этом режиме тап на товаре не отмечает товар как купленный/не купленный, а открывает режим непосредственного редактировния элемента списка покупок. Перечень всех операций, которые можно совершить с группой отмеченных товаров следующий:
  •  Копировать в список - копировать выделенные элементы в другой существующий список покупок
  • Установить магазин - установить для выделенных элементов магазин
  • Установить персону - установить для выделенных элементов персону
  • Установить количество - установить для выделенных элементов количество равное какому-то значению, увеличить или уменьшить текущее значение количества для выделенных элементов на какое-то значение
  • Удалить выделенные
  • Выделить все купленные
  • Инвертировать выделенные
  • Снять выделение у всех
  • Режим редактирования OFF - переход в обычный режим совершения покупок

Ввод элемента списка покупок
Ну вот, наконец, мы добрались до самого интересного - как добавлять/модифицировать элемент списка покупок. При вводе нового элемента списка Вы должны определить следующие данные: товар, комментарий, цена, количество, единицы измерения, персону для которой предназначена покупка (опционально), магазин где следует покупать товар (опционально). Много? Я попытаюсь убедить Вас в обратном а ввод максимально упрощен и автоматизирован.

Товар можно ввести несколькими способами. Самый простой - ввести с клавиатуры часть наименования товара. Если вводимый товар есть в справочнике, то появится подсказка, и вы можете выбрать необходимый товар из выпадающего списка. Если же товара нет в справочнике - вы просто вводите его наименование в соответствующем поле. Выбрать товар также можно из "облака товаров" (по аналогии с облаком тегов), расположенного в нижней части экрана. Облако товаров можно просматривать различными способами: (Used) - упорядоченное по частоте использования (рейтингу товара). Либо нажав на необходимую букву из скролируемого списка букв - в этом случае Вы получите список товаров, начинающихся с выбранной буквы, упорядоченный в алфавитном порядке. Для Вашего удобства, наиболее часто используемый товар будет выделяться более крупным шрифтом (опционально, отключается в настройках).

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

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

Вот собственно, и все что касается работы с приложением. Перейдем к настройкам. Приложение обладает достаточно широкими возможностями настройки внешнего вида приложения. Вызов настроек доступен из меню справочников. Перечень настроек следующий:
  • Текущая цветовая схема - выбор цветовой схемы для приложения (на данный момент это одна зеленая схема. Цветовые схемы будут добавляться в дальнейшем);
  • Валюта - краткое наименование валюты, которое будет использоваться с ценой;
  • Использовать персоны - включает/выключает использование персоны (объекта которому предназначен товар) в приложении;
  • Использовать магазинов - включает/выключает использование магазинов в приложении;
  • Купленные в конец - в включенном состоянии, купленные товары на вкладке "Список" будут перемещаться в конец списка;
  • Поиск начиная с символа - настройка, указывающая с какого символа показывать подсказку при вводе товара;
  • Облако товаров - позволяет включать/отключать использование облака товаров в приложении;
  • Размер шрифта облака - задает размер шрифта для облака товаров;
  • Плавающий размер шрифта- включает/выключает плавающий размер шрифта в облаке товаров

Экспорт списков
Экспорт текущего списка
Экспорт списков доступен из текущего списка покупок в режиме просмотра списков (Mеню -> Экспорт списка...) и возможен только для не пустых списков. Список в определенном формате можно передать через sms/mms, email, или копировать в клипбоард, для последующей передачи любым удобным для Вас видом коммуникации: аська, твиттер:) и пр.

Формат записи очень простой:
наименование_товара(количество_число)[комментарий];

Как Вы можете видеть, число в круглых скобках воспринимается как количество товара, может быть дробным (разделитель - точка). Набор символов в квадратных скобках воспринимается как комментарий к записи. Оставшийся текст  - как наименование товара. Запись должна заканчиваться разделителем - точкой с запятой. Если смс с текстом для экспорта отправляется не из приложения LazyShopper, а подготовливается и отправляется вручную или через веб интерфейс, то необходимо в начало текста добавить строку {ls}, для того чтобы у принимающей стороны эта смс была доступна для импорта.

Импорт списков
Импорт списка
Импорт списка доступен из текущего списка покупок в режиме просмотра списков (Mеню -> Импорт списка...). Данные, которые будут импортироваться, будут добавлены в текущий список. Импорт данных возможен из присланных смс/ммс, либо из текста, который может быть передан любым удобным для Вас способом.

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

При добавлении донных из импортируемого списка, приложение анализирует переданный текст наименования товара, ищет его совпадение в текущей базе товаров. Если совпадение найдено, то в списке покупок добавится товар с уже определенными единицами измерения и ценой (если она была введена ранее для этого товара), иначе товар будет помечен, как "введенный вручную". Учитывайте это пожалуйста, при подготовке данных вручную.

Менеджер бакапов
Менеджер бакапов доступен из меню "Настройка". Менеджер работает только с картой SD на Вашем устройстве, и позволяет производить бакап/восстановление текущей базы данных. Менеджер организован в виде упрощенного файл менеджера, в котором вы выбираете с каким каталогом SD карты Вы будете работать.

Для создания текущего бакапа базы данных, необходимо выбрать каталог, где будет создан бакап и нажать кнопку в нижнем правом углу.Файлы бакапов, созданные приложением, имеют вид lazyshopper<дата>.lsbackup Соответсвенно, в самом менеджере, Вы можете видеть и работать только с файлами, имеющими расширение lsbackup. Вы также можете переименовывать файлы бакапов, удалять их, создавать новые каталоги на SD карте.

Для восстановления бакапа необходимо выбрать его из списка, и ответить утвердительно на приглашение о восстановлении. Для того чтобы изменения полностью вступили в силу, необходимо выйти из приложения и войти вновь. Еще  одно дополнение. При восстановлении любого бакапа, приложение автоматически делает  копию текущей базы, которая всегда видна в списке менеджера под именем <Предыдущая копия БД>. Таким образом Вы всегда можете откатится на предыдущее состояние вашей БД. Эта возможность опционально может включаться/выключаться в настройках в соответствующем пункте.

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

При установке напоминания появляется диалог, который указан на изображении. Вам необходимо установить дату и время напоминания. Когда напоминание сработает, в области уведомлений появится сообщение с названием списка покупок, комментарием к нему, датой создания и деталями списка. При клике на нем, откроется соответствующий список покупок. В общих настройках вы можете указать, нужно ли очищать напоминание при нажатии на нем (настройка "Очищать напоминания при клике")


Виджет
При установке LazyShopper, Вы можете пользоваться виджетом, встроенным в приложение. Он стилизован под обычный ярлык, поэтому не занимает много места, но обладает дополнительными возможностями. Виджет показывает количество не купленных элементов в списках на закладке "Активные" (число в красном флажке), а также количество установленных напоминаний (число в зеленом флажке).

Цветовые схемы
Данное приложение поддерживает различные цветовые схемы. На данный момент их три: зеленая,темная и iLazy. В дальнейшем схемы будут дополняться.

Работа со штрих-кодами
Приложение поддерживает работу со штрих-кодами. Для сканирования необходима установка очень популярного сканера штрих-кодов ZXing. Если этот популярный сканер еще не установлен на Вашем смартфоне, то при первом сканировании приложение предложит установить его Вам.
Сканирование возможно как их режима справочника товаров, так и из режима определения списков покупок. При успешном сканировании, поиск товара производится сначала в локальной БД, а затем онлайн в Google Products (как наиболее адекватной системе хранения и поиска товаров по различным критериям). В случае, если штрих-код найден в локальной БД (был ранее сосканирован и присвоен товару), то найденный товар будет использоваться в зависимости от контекста. Если же продукт с таким штрих-кодом не найден в локальной БД, то производится онлайн поиск наименования товара, и при успешном исходе найденное наименование товара также будет использоваться в соответствии с контекстом.

Рассмотрим поведение приложения при использования сканера штрих-кодов:
1. Справочник товаров (кнопка вверху справа)
- если штрих-код найден в локальной БД, то открывается режим редактирования найденного товара с таким штрих-кодом.
- если найден товар с таким штрих-кодом онлайн, то открывается режим ввода нового товара, и подставляется найденное наименование.
- если не найдено ни в локальной БД, ни онлайн - открывается режим ввода нового товара с уже присвоенным штрих-кодом, но с пустым наименованием для ручного заполнения;
2. Режим ввода товара (кнопка рядом с полем ввода наименования товара)
- если штрих-код найден в локальной БД, то открывается режим редактирования найденного товара с таким штрих-кодом;
- если найден товар с таким штрих-кодом онлайн, то найденное наименование подставляется в поле наименования товара;
3. Режим списка покупок (кнопка вверху справа)
- если штрих-код найден в текущем списке, то найденный товар помечается как купленный;
- если штрих-код найден в локальной БД, но не присутствует в тек. списке покупок, то открывается режим добавления нового товара таким штрих-кодом;
- если найден товар с таким штрих-кодом онлайн, то открывается режим добавления нового элемента списка, и подставляется найденное наименование товара.
- если не найдено ни в локальной БД, ни онлайн - открывается режим добавления нового элемента списка, с уже присвоенным штрих-кодом, но с пустым наименованием товара для ручного заполнения;
4. Режим добавления элемента списка покупок (кнопка рядом с полем ввода наименования товара)
- если штрих-код найден в локальной БД, то найденный товар подставляется в поле наименования;
- если найден товар с таким штрих-кодом онлайн, то наименование товара подставляется в поле ввода товара;
Остается добавить, что в любом случае, при успешном сканировании, полученный штрих-код ставится в соответствие к найденному/новому товару, и в поле наименования товара в правом углу появляется сам код.

Для работы LazyShopper неоходим Android, начиная с версии 1.6. Да данный момент включена русская и английская локализация.

Ну вот  собственно и все. Я надеюсь Вам понравится мое приложение. Если Вы заметили баги в работе приложения, пишите. Также я буду рад услышать от вас любые пожелания или новые функции, которые Вы хотели бы видеть в LazyShopper.

Скачать последнюю версию LazyShopper Вы можете в AndroidMarket:

Android Market: market://search?q=pname:com.begemota.lazyshopper
Android Web Market: https://market.android.com/details?id=com.begemota.lazyshopper 

Видео:
 

Обсуждение программы, а также Ваши вопросы и пожелания вы можете оставлять на форуме 4pda.ru