Shopping List

Details

Shopping List is under GNU GENERAL PUBLIC LICENSE. It is written by Simone Pernice from scratch.
Version 1.7.1, build 90, created on 28th October 2007 in Turin, Italy.
Shopping List needs a MIDP 2.0 phone. The synchronize function was tested on Motorola phones.
So if you want to ask questions, suggest improvements or changes, fix bugs, send a donation or postcard contact Simone.

Help

This program is given as it is, WITHOUT any warranty. Supermarket stores a list of shops, each one is divided in a set of sections ordered like the shop arrangement. For every section there are the available elements. Select what to buy the next time in the shop to show them in the basket list. Once in the shop, just select the elements in the basket list while put them in the actual basket. Supermarket computes the amount considering discount tickets, warn you if something is missing and update statistics on element consumption for future suggestions.\nTo use Supermarket, define the name of your shops in SHOPS LIST, in order to change the current shop push 'USE NOW' button. Set your current shop sections in SECTION LIST in the order you usually go through them while buying in the shop. If the section contains some element, three radio buttons appear showing statistic computation status for the elements (none, all, some) and it is possible to change it to none and all to update all the elements in the section. Put in TICKET LIST your discounts/banknotes in the priority order and quantity (0 means no limit), eventually select the ones you will use the next time. For every section add in the SHOPPING LIST the items you usually buy, you can enter the same item several times. Every element has an unitary price, number of units to buy (it can be decimal if you use price at kilo), the discount percentage (0 for no discount), the number of times after the product should be bought (0 to avoid to keep statistics for that product, it is automatically updated after every shop session), the number of times the product was not bought (read only and kept update only if times to buy > 0), and its category. In shopping list select the ones you'll buy next time: they will appear on basket list. In the BASKET LIST select them again while you're putting them in the shopping basket. Use EVAL to calculate the required cash and the number of discount tickets, it will also suggest the most likely element to buy to fully use the final ticket. If the basket is full and ShppingList is closed, times not bought and times to buy are automatically updated and the elements in the basket are unselected. Use GUESS to fill automatically the most likely items to buy. The first time ShoppingList is started default elements, categories and tickets are loaded.

Synchronization Procedure

I usually receive a lot of questions about the synchronization. It is based upon J2ME Serial Connection interface, which let the phone links to the PC through USB/Serial/IrDA protocol. On the PC a simple terminal emulator will receive the data in text format and save it. Unfortunately the link procedure is not standardized by J2ME, therefore every manufacturer needs its own steps and phone settings. Here I will describe the procedure for Motorola phones.
In order to save ShoppingList databases on your PC select synchronize option and then choose the first serial port of the list (I see COM0 on Motorola). Select backup function. The phone will ask you if ShoppingList is allowed to use your phone com port. Answer yes and (only then) plug an USB cable from your PC to your phone. Then start HyperTerminal (you can find it in start -> programs -> accessories -> communication). It will ask for a connection name (write whatever you want) and then a port: select the same com port of the phone (which you can find in device manager after your phone is linked to the pc). At this point in Hyper Terminal select transfer -> capture text and chose a file name. When ready push a key in Hyper Terminal to get all your database in text format. Eventually in HyperTerminal push transfer -> capture text -> stop. In your text file will be stored all your databases. The backup files are simple text which you can easily manipulate in order to add, delete or modify records.
The restore procedure is exactly the opposite of backup: in ShoppingList select synchronize option and then choose the first serial port of the list (I see COM0 on Motorola). Select RESTORE option. The phone will ask you if ShoppingList is allowed to use your phone com port. Answer yes and (only then) plug an USB cable from your PC to your phone. Then start HyperTerminal (you can find it in start -> programs -> accessories -> communication). It will ask for a connection name (write whatever you want) and then a port: select the same com port of the phone (which you can find in device manager after your phone is linked to the pc) and set the lowest baud rate available. Eventually in Hyper Terminal select transfer -> send text and choose an old backup file that you want to restore on your phone.

Screen shot


Download ShoppingList

Executable Code
Source Code