When the user closes and reopens the app, the user sees an empty list of scans. We can make the list persistent by saving it after a scan and loading it when the app starts. We can use the application-settings
module to store the scans. The storage is based on key-value: a value is assigned to a specific key.
Only booleans, numbers, and strings can be stored using this module. An array cannot be stored. Instead, one could store the length under one key (for instance, items-length
) and the items under a set of keys (items-0
, items-1
, ...). An easier approach is to convert the array to a string using JSON.
The list can be saved using the following function:
function save() { applicationSettings.setString("items", JSON.stringify(items)); }
The Date
objects are converted to strings by JSON.stringify
. Thus, we must convert them back to a Date
object manually:
function load() { const data = applicationSettings.getString("items"); if (data...