Mobile Shopper

Frequently Asked Questions

The following FAQ is also available from within MobileShopper - just use the Help menu item.

Q:How do I use my Wear OS Smartwatch with MobileShopper?

A: On first launch, Mobile Shopper looks for any Wear OS devices that are configured to connect with your mobile device. If it finds any, and one or more don't have the MobileCart app installed, it shows a dialog to inform you of that, and allows you to elect to open Google Play Store on each such device. From there, you can choose to install the MobileCart app on your Wear OS device.

After the first launch, you can trigger that search again using the "Scan for Wear OS app" menu item in the overflow menu.

Once MobileCart is installed and opened, it will retrieve the contents of the NEEDED ITEMS tab in MobileShopper and display it on the Smartwatch. You may then use it just like you would use the NEEDED ITEMS tab, e.g., check an item to indicate you have placed it in your cart or uncheck it if you removed it. With each change of the checkbox, MobileCart updates the NEEDED ITEMS tab.

If you modify the contents of the NEEDED ITEMS tab, you will need to tap the Get mobile data button on the Smartwatch to make the Smartwatch display match the NEEDED ITEMS tab.

Note that for all of this to work, you must have previously paired one or more Wear OS devices with your mobile device, and each Wear OS device must be connected via Bluetooth or Wi-Fi so they can communicate with each other.

The normal pattern of usage is to get your NEEDED ITEMS tab populated with your shopping list before leaving home and open MobileCart on your Smartwatchtap. If it wasn't already running, it will retrieve your NEEDED ITEMS automatically, if it was, just tap the Get mobile data button in MobileCart.

After that, you can keep your mobile device in your pocket or purse (making sure it is connected via Bluetooth to your Smartwatch), and complete your shopping using only MobileCart on your Smartwatch. When you are done shopping, just clear the NEEDED ITEMS tab as always, then tap the Get mobile data button in MobileCart to update the display there.

One final note - if you uninstall MobileShopper, the MobileCart app will detect that, and offer a button to open Google Play Store on your mobile device so you can reinstall it. If you happen to find and install MobileCart before you install MobileShopper, that is the same situation, so it will detect that MobileShopper is not installed, and allow you to elect to install it.

Q:How do I preserve my data?

A: Mobile Shopper is configured to make Android backup all the data it creates - shopping lists and preferences. The files you create for custom icons and recipe instructions/graphics, are included in that backup if they are in the "modern" location. Those files are NOT backed up if they are in the "legacy" location. The files must be under the MobileShopper subdirectory in one of these locations:

legacy ES
modern ES/Android/data/com.ideasave. mobileshopper2/files

Where ES is whatever storage location is designated as external storage by your device.

To ensure Android backs up MobileShopper created data, get your settings and shopping lists the way you want them, then either wait for Android to automatically back it up, or use the backup feature (typically in "Accounts and backup" in the device settings) to start the backup manually. Once the backup is done, if you delete the app and then reinstall it, Android will restore your data automatically before it allows you to open the app. The same applies if you do a factory data reset - Android will restore your data when the app is reinstalled.

Custom icons and recipe instructions/graphics should be created on a laptop/desktop computer, and then copied to the above named external storage directory. That can be done by connecting the device using USB, navigating to the external storage directory, then dragging the data files to it. The correct locations under /MobileShopper are:

recipes The text, html and image (.jpg/.png etc) files you have created for recipes.
icons The custom icons you have created.

Q: What does MobileShopper mean by interaction style?

A: The interaction style denotes the perspective MobileShopper provides on your data in the display and hence also denotes a style of interaction. The supported styles are Shopping list, Shopping inventory and General inventory.

In the shopping list style, you "check off" the items you need, and they appear automatically in your needed list. In either of the inventory styles, you maintain an in-stock quantity and price with every item, and you "use" an item, i.e., you use/sell some quantity of an item, taking it out of stock. When you use an item, the in-stock quantity is decremented by the quantityused.

When the in-stock quantity reaches zero, you are prompted to specify what quantity you want to restock with, and then the item is added to your needed list. Alternatively, you can configure MobileShopper to automatically add the item to your needed list upon use. When you place an item in your cart in the needed list view, the quantity is added to your quantity in stock.

Note that general inventory style is exactly the same as shopping inventory style, except that recipes are called bundles instead.

Q: How do I control when MobileShopper puts an item I've used into my needed list?

A: In the settings dialog there is setting labeled "Inventory item needed event". This setting is enabled only when the interaction style is set to one of the inventory styles. Set this to On out of stock if you want an item to be added when its quantity in stock drops to zero. Set this to On use if you want an item to be added each time it is used.

Q: What does MobileShopper mean by "recipe"?

A: A recipe is any collection of ingredients that you frequently buy together, and thus would find it convenient to be able to add all of them to your needed list with one action. Because you may also add step-by-step instructions to a recipe, it can be a real-world recipe (e.g., "Beef Burgundy") that you cook. This means that you can use MobileShopper to hold all of your favorite recipes on your cell phone or tablet computer, and consult it instead of a cookbook when you want to cook one of the recipes.

Q: What does MobileShopper mean by "bundle"?

A: A bundle is what recipes are called when the interaction style is general inventory. A bundle and a recipe are otherwise the same.

Q: How do I add step-by-step instructions to a recipe?

A: Because cell phones and tablet computers are not designed for entering large amounts of text, you add step-by-step instructions to a recipe by creating a text file containing those instructions on your desktop computer, and then put that file in a place on your device's external storage where MobileShopper can find it.

Recipe instructions must be placed in the file:

 /Android/data/com.ideasave.mobileshopper2/files/recipes/CATEGORY/RECIPENAME.html

on your device's external storage, where CATEGORY is the name of the recipe category (shown in the spinner on the recipes tab) and RECIPENAME is the name of the recipe. For example, if you create the recipe "Beef Burgundy" in the "Main dishes" category, the instructions file must be:

/Android/data/com.ideasave.mobileshopper2/files/recipes/Main dishes/Beef Burgundy.html

When you tap on an entry in the recipes list, MobileShopper looks for a file following the above rule, and if it finds it, shows a button labeled Show instructions above the ingredient list. When you tap that button, the file is opened and displayed in place of the ingredient list, and the button text is changed to Show ingredients. Tapping that button switches the display back to the ingredients list.

Q: What can I put in the step-by-step instructions file?

A: The instructions file can contain just plain text, but then it won't look very nice, since it lacks formatting. For best results, the file should contain HTML - a mini-web page. If you use HTML, you can include almost anything you could include in a real web page, e.g., you could include a picture of the finished recipe! The sample instructions file linked to in the next paragraph does exactly that.

If you choose to include a photo, you can place that file anywhere you can link to from your HTML, including out on the internet! The sample instructions file requires the photo to be placed on external storage in the same directory as the instructions file itself. Right-click here and choose "Save Link As" to get a sample instructions file and graphic.

Q: When I add an ingredient to a recipe, I see a checkbox labeled "Is a staple". What is that for?

A: A staple is a recipe ingredient that you nearly always have on hand, and thus rarely need to add to your needed list when you add the recipe to your needed list. By checking Is a staple, you're telling MobileShopper not to automatically include that ingredient when you add the recipe to your needed list. Instead, when you add the recipe, MobileShopper shows you a dialog with an input field in which you can specify how many servings of the recipe you need, and a button that lets you view the list of staples and choose the ones you need.

Q: How do I perform operations such as delete, edit or rename?

A: If a list entry has an icon on the left, tap that icon to get a quick action bar showing the operations you can perform on that list entry. With the exception of an item category, that icon is always a "down arrow" icon. If an entry has no icon on the left, tap the name of the entry itself to get the quick action menu. Not all list entries have such menus.

Q: How do I delete all the items in a category?

A: Tap the icon next to the category name and then choose the Delete items operation from the resulting quick action bar.

Q: How do I delete all items in all categories?

The easiest way to do this is to tap the icon next to the All items category and then choose the Delete items operation from the resulting quick action bar. You can also do it by deleting all the items in each category individually.

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: What is the purpose of the "Mapping:" control in the dialog for editing a unit?

A: Since units can be named whatever you want and placed in any order you want, MobileShopper can't know what those units really are for unit conversion purposes. The "Mapping:" control lets you specify what real-world unit each entry in your unit list represents, thus enabling correct conversions between quantities of different 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:

  1. Copy the file back to the same place on the SD card.

  2. Use the Manage data menu item of the MobileShopper application, and choose Import database from XML. You will be prompted to confirm the operation.

  3. Confirm, and the operation will be done.

  4. 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.