Frequently Asked Questions
The following FAQ is also available from within MobileShopper - just use the Help menu item.
Q: What's this about an obsolete version
of MobileShopper?
A: To my great dismay, both the primary and backup copies of the certificate used to sign the original MobileShopper application through version 1.3 were lost. Consequently, starting with version 1.4 the application was signed with a different certificate.
Android, however, doesn't allow installation of an application with the same package name as an already installed application unless it is signed with the same certificate. For a successful install, therefore, I had to change MobileShopper's package name. The side effect of that is that now both the old and the new versions can be installed at the same time, and each has its own database of shopping categories, items, etc.
That doesn't affect new users, but if you were using the previous version and then found and installed this one, this one probably doesn't have the same database as the previous. Fortunately, it is easy for you to transfer your data from the old version to the new. The only thing that can't be recovered is the value of the Change category iconset setting - but you can easily change that to the value you want. To transfer your data, do the following:
- Launch the previous version and use the Export database to XML item in the Manage data submenu to export your data to your SD card.
- Now launch the new version and use the Import database from XML item in the Manage data submenu. You will be prompted to confirm the operation. Upon confirmation, your database from the previous version is imported and the application restarts itself.
- Examine your data to satisfy yourself that everything really is there. At that point, you can uninstall the previous version.
Q: How do I delete or edit an category
or item?
A:Tap and hold on the category or item until a context menu pops up, then tap the Edit or Delete menu item.
Q: How do I change the icons used in the "Categories" tab?
A: Place your icons in the MobileShopper/icons directory of your SD card. Each icon must be in .png format and be named the same as the category it is associated with (with all non-alphabetic characters removed). For example, the icon for the Breads/Grains/Cereals/Nuts category should have an icon name of breadsgrainscerealsnuts.png. If an icon file can't be found, or the SD card is unmounted or removed, the built-in icon is used. Android standard sizes for these icons are 24x24 (ldpi), 32x32 (mdpi) and 48x48 (hdpi), but you are free to use whatever size you like - the list item heights will adjust automatically.
Q: How do I change the units available for item quantity?
A: Go to the settings view by using the Settings menu item, then tap the Configure item units setting. You can now see a list of all existing units ordered as they appear in the units spinner in the item details dialog. You may add a new unit by using the Add menu item and delete or edit an existing unit by tapping and holding on the desired unit and then choosing Edit or Delete from the resulting menu.
You may also change the order of the units by tapping and holding on the drag icon on the right side, dragging until the desired position is reached, and then dropping the unit.
Note that changing the list of item units will likely make items in the needed items list at the time of the change show an incorrect value for units.
Q: How do I change the order of the categories appearing in the "Needed" tab?
A: Go to the settings view by using the Settings menu item, then tap the Reorder shopping aisles setting. You can now see a list of all the categories ordered as they appear in the needed items tab. To reorder, just tap and hold on a drag icon on the right side, drag until the desired position is reached, and then drop the category.
Q: How do I transfer my data to another phone?
A: Use the Manage data menu item, then choose Export database. If the operation succeeded, you will get a small dialog telling you that the database file is now on your SD card at /MobileShopper/shopping.db. Use any means you find convenient to transfer the file to the same place on the SD card for another phone.
Next, use the Manage data menu item of the MobileShopper application on that phone, and choose Import database. You will be prompted to confirm the operation, and if you do the operation will be done. If it succeeded, you will get a small dialog telling you that and informing you that MobileShopper will restart itself after you dismiss the dialog.
Q: How can I transfer my data to my PC for viewing/editing there?
A: Use the Manage data menu item, then choose Export database to XML. If the operation succeeded, you will get a small dialog telling you that the database file is now on your SD card at /MobileShopper/shopping.xml. Use any means you find convenient to transfer the file to your PC. You can then view the file in your web browser by double clicking on the file. You can edit the file using any text editor.
Please be sure you understand what you are doing when editing the XML!
If you edit the file, you can replace the data in MobileShopper using the import feature as follows:
-
Copy the file back to the same place on the SD card.
-
Use the Manage data menu item of the MobileShopper application, and choose Import database from XML. You will be prompted to confirm the operation.
-
Confirm, and the operation will be done.
-
On success, you will get a small dialog telling you that and informing you that MobileShopper will restart itself after you dismiss the dialog.
Q: What can I do if an import operation fails, or what I see after an import isn't what I expected?
A: If the operation fails before any changes were made, you can correct the problem and try again - the dialog you see after a failure will suggest some possible problems. If the operation fails after changes were made, MobileShopper will try to restore the previous version of your database - and the dialog you see after the import will tell you that. If it could not restore the previous version (very unlikely), try the operation again (in the worst case, you may need to un-install and re-install the application). If the operation succeeds, but what you see in the application isn't what you expected, you probably imported from XML and there was something wrong with the XML - correct the problems in the XML and try again.
Q: What could be wrong with my edited XML?
A: The XML exported by MobileShopper is very regular in its form. Every open tag must have a corresponding close tag. An open tag looks like this:
<something>
and must be balanced by a matching end tag, which looks like this:
</something>
Also, every attribute value must be enclosed in quotation marks. Here is an open tag with one attribute:
<something name="blah">
There are many other problems that can happen with XML. Further discussion of that is beyond the scope of this help. Try researching XML on the web if you need more help.
Q: What does MobileShopper require in the XML that is imported?
A: In addition to the form being correct, MobileShopper has additional requirements:
- The name appearing in the <database> tag MUST be shopping.xml.
- The name appearing in the <table> tag MUST match the type of data inside it: categories for category data, items for item data, and units for units.
- The value of every name attribute must be the same as that exported by MobileShopper.
- The text appearing between <col name="id"> and </col> tags must be the same as that exported by MobileShopper.
- The text appearing between <col name="name"> and </col> tags for the categories table must be unique within the table.
- The combination of the text appearing between the <col name="name"> and </col> tags and the <col category_name="name"> and </col> tags for the items table must be unique.
- The text appearing between <col name="sortorder"> and </col> tags for the categories table must be unique within that table and accurately specify the order you want. The order is lowest to highest.
- The text appearing between <col name="sortorder"> and </col> tags for the units table must be unique within that table and accurately specify the order you want. The order is lowest to highest.
- The text appearing between <col name="_id"> and </col> tags is ignored by MobileShopper.