Choosing a database
As mentioned before, the majority of mobile apps work with data. If you are not building a calculator app or an arcade game, the ability to store the data that your app is using can be very valuable. When designing your app, you need to make some architectural choices upfront. Where and how is my data stored? One obvious solution is to store your data in the cloud. This approach is the most common, but what if you do not have network access? You still want to be able to work with your app, and with the latest version of your data. This is the main reason why you also want to store your data locally on the device.
In simple cases, storing data as plain files, text, or binary is sufficient. However, it is also possible, and generally better, to embed a complete database system locally on the device. There are many relational and non-relational embedded databases available. If we think about an arbitrary database as just another mobile framework available from the...