Different Ways to Store Data in Android

Each application will need to store data in one way or another. Such data can be user settings, application settings, user data, images, or a cached data

Shared Preferences

Shared preferences is used to save primitive data in key-value pairs. Android platform stores Shared Preferences in an xml file in a private directory. An app can have multiple Shared Preferences files. Ideally, you want to store application preferences in Shared Preferences.

Internal (Private) Storage

Internal Storage is used to store persisted data to the device filesystem, but you do not want any other app or user to read this data. The data stored using the Internal Storage method is completed private to your application and are deleted from the device when your app is uninstalled.

External Storage

The user can view the file and data saved with this method.

For write permission, you must request WRITE_EXTERNAL_STORAGE permission.

For read permission, you must request READ_EXTERNAL_STORAGE permission

Beginning with Android 4.4, you can actually write to a “private” external storage folder without requesting WRITE_EXTERNAL_STORAGE. The “private” folder can be read by other applications and by the user, however, data stored in these folders are not scanned by the media scanner. This app_private folder is located in the Android/data directory, and is also deleted when your app is uninstalled.

Beginning with Android 7.0, you can request access to a particular directory (such as picture directory or documents directory) instead of entire external storage. This is referring to as scoped directory access.

SQLite database

SQLite database are app specific. It is available to the app, but not to outside application.

What is React Native

React Native is a JavaScript framework for creating User Interfaces. It is created by Facebook.

You can use React Native to create Android, iOS, and UWP native apps.

Some benefits of using React Native:

  • Once you modify the code, you can quickly view the change on mobile device.
  • React Native interacts with the native components of the devices and renders code to native APIs
  • Opensource
  • Ready-made components – reduce app development process
  • Reliable and stable – Big companies are using it such as Facebook, Instagram, Airbnb, etc.


Page 1 of 1