How to Effectively Store Data Using Shared Preferences?


May 1, 2023
How to Effectively Store Data Using Shared Preferences?

What are Shared Preferences?

Shared Preferences are a way to store small amounts of data in key-value pairs. This type of storage is ideal for saving app settings, user preferences, and other small bits of data that need to be stored and retrieved quickly.

Advantages of Using Shared Preferences

  • Easy to use and implement.

  • Can store small amounts of data efficiently.

  • Can be accessed from anywhere in the app.

  • Can be accessed even when the app is closed.

Disadvantages of Using Shared Preferences

  • Not suitable for storing large amounts of data.

  • Limited data types can be stored.

  • Data can be lost if the app is uninstalled or the device is reset.

  • Data is not encrypted, so it is not secure for storing sensitive information.

Using Shared Preferences in Android

Step 1: Getting the Shared Preferences Instance

To use Shared Preferences, you must first obtain an instance of the SharedPreferences class. This can be done using the getSharedPreferences() method, which takes two parameters: the name of the file where the data will be stored and the mode in which the data will be stored.


SharedPreferences sharedPref = getSharedPreferences("myPreferences", Context.MODE_PRIVATE);

Step 2: Writing Data to Shared Preferences

Once you have obtained an instance of the SharedPreferences class, you can write data to it using the edit() method. This method returns an instance of the SharedPreferences.Editor class, which provides a set of methods for writing data to the Shared Preferences file.


SharedPreferences.Editor editor = sharedPref.edit();

editor.putString("username", "JohnDoe");

editor.putInt("age", 25);

editor.putBoolean("is_logged_in", true);


Step 3: Reading Data from Shared Preferences

To read data from Shared Preferences, you can use the get*() methods provided by the SharedPreferences class. These methods take a key as a parameter and return the value associated with that key.


String username = sharedPref.getString("username", "");

int age = sharedPref.getInt("age", 0);

boolean isLoggedIn = sharedPref.getBoolean("is_logged_in", false);

Step 4: Removing Data from Shared Preferences

To remove data from Shared Preferences, you can use the remove() method provided by the SharedPreferences.Editor class.


SharedPreferences.Editor editor = sharedPref.edit();



Best Practices for Using Shared Preferences

  • Use a unique file name for each set of preferences.

  • Use constants for key names to avoid typos and errors.

  • Use appropriate data types for the values being stored.

  • Do not store sensitive information in Shared Preferences.

  • Avoid storing large amounts of data in Shared Preferences.


In conclusion, Shared Preferences are a simple and efficient way to store small amounts of data in an Android app. They are easy to use and provide quick access to data, making them ideal for storing app settings and user preferences. However, they should not be used for storing sensitive information or large amounts of data.

Frequently Asked Question (FAQs)

Q: Can Shared Preferences be accessed from other apps?

A: No, Shared Preferences can only be accessed from the app that created them.

Q: How can I store large amounts of data in my app?

A: For large amounts of data, you should consider using a database or file storage.

Q: Is it possible to encrypt data stored in Shared Preferences?

A: No, Shared Preferences do not provide encryption by default. If you need to store sensitive information, you should consider using other storage options that provide encryption, such as the Android Keystore or a local database with encryption enabled.

Q: Can Shared Preferences data be backed up to the cloud?

A: Yes, by default, Shared Preferences data is backed up to the cloud along with the rest of the app's data. However, you can exclude Shared Preferences data from cloud backups by setting android:allowBackup="false" in the app's manifest file.

Perfect eLearning is a tech-enabled education platform that provides IT courses with 100% Internship and Placement support. Perfect eLearning provides both Online classes and Offline classes only in Faridabad.
It provides a wide range of courses in areas such as Artificial Intelligence, Cloud Computing, Data Science, Digital Marketing, Full Stack Web Development, Block Chain, Data Analytics, and Mobile Application Development. Perfect eLearning, with its cutting-edge technology and expert instructors from Adobe, Microsoft, PWC, Google, Amazon, Flipkart, Nestle and Info edge is the perfect place to start your IT education.

Perfect eLearning in Faridabad provides the training and support you need to succeed in today's fast-paced and constantly evolving tech industry, whether you're just starting out or looking to expand your skill set.

There's something here for everyone. Perfect eLearning provides the best online courses as well as complete internship and placement assistance.

Keep Learning, Keep Growing.

If you are confused and need Guidance over choosing the right programming language or right career in the tech industry, you can schedule a free counselling session with Perfect eLearning experts.

Hey it's Sneh!

What would i call you?

Great !

Our counsellor will contact you shortly.