Preloader
 
Home / Blog / Using SharedPreferences in Flutter
22April 2019

Using SharedPreferences in Flutter

What is SharedPreferences

SharedPreferences is used for storing data key-value pair in the Android and iOS.

SharedPreferences in flutter uses NSUserDefaults on iOS and SharedPreferences on Android, providing a persistent store for simple data.

Why use SharedPreferences in Flutter?

Suppose you wanna save a small value (a flag probably) that you wanna refer later sometime when a user launches the application. Then shared preference comes into action.

We do not use SQLite for saving small values because then you will need to write lengthy codes and supporting classes.

Shared Preference let you read and write key-value pair in a couple of lines easily. But always remember, shared preference is not a solution for you to keep complex relational data.

How to use SharedPreferences in Flutter?

Before using SharedPreferences, you should know that Flutter SDK does not have support SharedPreferences but fortunately, the shared_preferences plugin can be used to persist key-value data on disk.

Implementation

Step 1: Add the dependencies

Add dependencies to pubspec.yaml file.

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: "<newest version>"

Step 2: Import shared_preferences.dart

import 'package:shared_preferences/shared_preferences.dart';

Step 3: Save data

We can only add int, String, double and bool using SharedPreferences.

There are setter methods in the SharedPreferences class which take two parameters, key and value.

Note : keys are only string values

Saving String value

Saving int value

Saving double value

Saving boolean value

Step 4: Read data

When we are reading the data from the storage through SharedPreferences we only required to pass the key only.

If the value is not present in the storage then we might get a null value.
To handle this we can use

int intValue = prefs.getInt('intValue') ?? 0;

Step 5: Remove data

To remove the data from the storage we provide the key in the remove(String key) method.

Check value if present or not?

SharedPreferences prefs = await SharedPreferences.getInstance();

bool CheckValue = prefs.containsKey('value');

containsKey will return true if persistent storage contains the given key and false if not.

We hope this article gave you an understanding of SharedPreferences in Flutter.

Thanks for reading this article.

FlutterDevs has been working on Flutter from quite some time now. You can connect with us on Facebook and Twitter for any flutter related queries.

If we got something wrong? Let me know in the comments. we would love to improve.

BY Ashish Rawat 0 Read More

Leave a Reply

Your email address will not be published. Required fields are marked *