Thank you both for your reply but I think I might be confused at a more fundamental level. I come from a background of web development so I approached the app from a similar point of view. Below is a brief description of the app with a request for more information on how you feel I should proceed.
At its foundation, the app stores data the user inputs. Although most of the data is simply text and integers, some of it will come in the form of saving images. My original thought, which is currently being implemented, was to create a sqlite database as I would have done for a website or app to be only used on a single device (no online syncing required). The database is normalised (currently into about 12 tables) and data is stored there (images stored in BLOB format).
My problem is in allowing users to sync their data between devices. As I currently understand it, which may be very wrong, if I use a sqlite database, I will basically need to sync the entire database as a file any time a user updates it (I could use Google firebase as my online storage option). The problem with this is that if the database grows, it can start using up a lot of bandwidth as it gets redownloaded over and over. I need the data to be available offline so the full database would have to stored locally and only updated remotely for syncing.
A different option is to use the WebStorage utility (or Firebase alternative). I originally understood this as simply a utility to store simple key-value pairs. However, I’ve seen examples in Firebase where the Firebase version of WebStorage had more complicated getValue calls with conditional statements. Is it possible to use WebStorage with conditionals? Would it be terribly resource intensive to have possibly thousands of key-value pairs that are searched over where only a few hundred are returned?
I’m really simply looking for help on how to approach this problem as I don’t think I understand the options too well. I’ve tried reading online help but most of it goes into details for people who already know the fundamentals and have a general idea of what they need to do to accompoish their goals.
Thank you very much for any help you can provide. If you need more information about what I need, please ask.
Thank you again,
Eric