Overview
Your Waypoints, Routes, Tracks and user-defined key-value pairs are stored internally in an SQLite database that the operating system associates with this app.
This database may occasionally get lost or damaged for various reasons:
(i) Loss or damage of your android device
(ii) Android system failure.
(iii) Automatic deletion by android when the app is uninstalled.
(iv) Application programming error (ie: "bug" in this app)
(v) User error: You may inadvertently damage your own data, for example, by deploying "Mass Delete" against the wrong list of items.
Please regularly take backups of your painstakingly-gathered-and-edited data!!!
Backup Phase 1
Select operation type "BACKUP", use the default (or your own) target file name, press GO.
This copies the database to the real or virtual SD card internal to your device.
That was easy, quick and protects you against all but case (i) above.
Backup Phase 2
Plug your android device into a USB port on your laptop or desktop.
The ".db" file produced by phase 1 should now be visible to your file manager.
Now copy the ".db" file to the system disk, a USB flash or to your cloud provider.
If a PC is unavailable, use a cloud backup method directly from the mobile device.
Restore
Place the (previously created) ".db" file to be restored onto your SD card root (if it is not already there).
Select operation type "RESTORE!!!", name the input file, press GO.
This replaces the entire database with the backup file.
NB As a further safety precaution, the restore logic automatically takes its own database backup before destroying it. A message to this effect is issued.
Controlling backup file name.(Read me!)
The file name proposed by the backup is based on the concept of a user-defined database identification ('DB_Id').
By default the application name is used as the DB_Id but you can change this as explained below.
Only if you use the proposed file name (ie 'DB_Id') will the date and time will be appended to the proposed value to form the name of the file actually used.
If you overtype the proposed value with a different value then the output filename will be exactly as typed.
Setting a meaningful DB_Id
(a) Tap 'face' icon ('Manage user-defined key-value pairs').
(b) Tap the '+' symbol to go to edit mode.
(c) Choose 'alias' from drop-down Key/class list.
(d) Type the desired DB_Id in the 'Value 1' box. e.g. your initials. (Keep it short and meaningful with no spaces. It will be used to form the file name of the backup file.)
(e) Type a short description in the 'Value 2' box.
(f) Type '#DB_Id' in the 'binder' box (or select/Long Press from the drop-down list).
(g) Tap 'Add new key_value' button.
(h) Return to the Backup/Restore main screen to confirm.
Why use your own DB_Id?
While this app provides comprehensive facilities (e.g. id0/id1) for organising data into user-defined categories within the one SQLite database you may nonetheless choose to maintain completely separate databases for each datum set.
It is also possible that you wish to temporarily examine a database prepared by a friend or colleague.
Because only one database can be handled at a time, DB_Id is a useful method of identifying which of multiple databases (ie '.db' files) contains what data.
Database Layout
The database is divided into the following tables:
waypoints: 1 row per waypoint
routes_tracks: 1 row per route or track
routepoints_trackpoints: multiple rows for each route or track
origin: 1 row being the current "origin" point
destination: 1 row being the current "destination" point
user_key_values: 1 row per user key-value definition
sketch_settings: 1 row per route route or track
If you are interested ...
An exceptional open source, freeware tool "DB Browser for SQLite" can be downloaded from http://sqlitebrowser.org
This tool can be used to inspect and even modify the backup from the comfort of your desktop.
Warning!Do NOT modify the sqlite_sequence table. This can upset the relation between a route or track and its associated points and sketch settings!