Best Way To Use SharedPreferences In Flutter

In Flutter’s mobile application, if we have to store some value permanently in the mobile device itself, while the user does not clear the data of the application, then our first choice is to use shared_preferences . We know that shared_preferences makes this work easy for us, but we can store many types of data in shared_preferences as we use in our application, Anyway I am going to tell you in this article that we can use shared_preferences in a better way. how can use.

So Let’s start

I hope that you must have installed the required plugin to use shared_preferences and if you haven’t, then I am giving you the link below, you can install it.

shared_preferences  So you click on this link and add the plugin to your pubspec.yaml file.

I assume that you must have added your plugin, then you have to create a dart file, you can give the name of the file whatever you like. Here I name the file shared_preferences.dart.

1. Method :- Basic use

simply Basic syntax to use stringlist in shared preferences.

// for read
    final myStringList = prefs.getStringList('string_list_key') ?? [];
 
// for write
    prefs.setStringList('my_string_list_key', ['abc', 'xyz', 'pqr']);

2. Method : – Using Class

Create a new dart page “shared_preferences.dart”

In this file, we are going to create a class and the file will contain all the methods that we will need for shared_preferences.

import 'package:shared_preferences/shared_preferences.dart';
 
class ProjectSharedPreferences {
  ProjectSharedPreferences._privateConstructor();
 
  static final ProjectSharedPreferences instance =
  ProjectSharedPreferences._privateConstructor();
 
  setStringValue(String key, String value) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    myPrefs.setString(key, value);
  }
 
  Future<String> getStringValue(String key) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.getString(key) ?? "";
  }
 
  setIntegerValue(String key, int value) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    myPrefs.setInt(key, value);
  }
 
  Future<int> getIntegerValue(String key) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.getInt(key) ?? 0;
  }
 
  setBooleanValue(String key, bool value) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    myPrefs.setBool(key, value);
  }
 
  Future<bool> getBooleanValue(String key) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.getBool(key) ?? false;
  }
 
  Future<bool> containsKey(String key) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.containsKey(key);
  }
 
  removeValue(String key) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.remove(key);
  }
 
  setListData(String key, List<String> value) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    myPrefs.setStringList(key, value);
  }
 
 getListData(String key) async {
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.getStringList(key);
  }
 
  removeAll() async{
    SharedPreferences myPrefs = await SharedPreferences.getInstance();
    return myPrefs.clear();
  }
 
}

Now let’s see how to use it.

Set data in shared_preferences .

Here I have given an example but for whatever method you want, you just have to call that method ( Like I used here setListData and getListData method ) and pass whatever parameter you want, in the key you can give your variable name in which you have to store data and You have to pass the same key at the time of fetch data so that you will get the same data.

//Key : Set variable name for shared_prefrences
 
  ProjectSharedPreferences.instance.setListData("key ",value);
 
// value : set value what you want to store 

Get Data From shared_preferences

//
  
 List dataset= [];
 
    await ProjectSharedPreferences.instance
        .getListData("key")
        .then((value) => setState(() {
        dataset = value;
    }));
 
//
Hey folks, I'm Vivek Kumar Pandey, a software engineer with a passion for crafting elegant solutions to complex problems. From the bustling streets of Mumbai to the heart of Bangalore's tech scene, I've journeyed through the world of programming, leaving my mark one line of code at a time. Join me as I continue to explore, innovate, and push the boundaries of what's possible in the digital realm.

Related Posts

Tables in Flutter PDF library

Hello Guys’ in this tutorial, I will teach you how to create a dynamically table in flutter pdf. I will use a plugin for this. Many times it happens…

CERTIFICATE_VERIFY_FAILED Error while performing a POST Request In Flutter

When Sending a post request in Dart. It is giving a response when We test it on API testing tools such as Postman. But when We run…

Get Current Location In Flutter

Hello friends, today in this article I am going to teach you how to get user’s current location in flutter. Its video tutorial is also on my YouTube…

Leave a Reply

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