There are three types of applications: online, offline, and both, where in some way the device synchronizes its local data with some remote data in a server.
In the disconnected mobile world, we have three local storage options to store data in your own sandbox space, the areas where you have the required permission to read and write data:
Preferences (simple key\value pairs user settings)
Direct access to the filesystem (JSON, XML, text, binary)
Local database (SQLite, NoSQL)
You can use one, none, or all of these options depending on your needs and your architecture decisions. Usually, my personal preference for local storage is to save user settings in preferences and when I need to query data, manipulate, and save back, the standard is a SQLite database built-in in the iOS and Android platforms and some minimal effort to make it available in Windows Phone.
For connected applications, you will have the need of a server, which will query a database and return the data in a formatted...