Search packages, repositories and app categories

Package detailsv2.0.3

sp_util

Flutter shared_preferences plugin util, support get default value, save object, object list.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
4K
Likes
58
Pub points
160

Install package

flutter pub add sp_util

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

sp_util is a Flutter utility package that simplifies working with shared_preferences by providing enhanced features such as retrieving default values, saving objects, and managing object lists. It streamlines persistent data storage across platforms, making it easier to handle user preferences and app state. Built on top of the shared_preferences plugin, it supports Android, iOS, Web, macOS, Windows, and Linux. The package reduces boilerplate code and improves developer productivity when storing and retrieving serialized data.

Use cases

  • Storing user preferences
  • Saving app settings
  • Persisting user session data
  • Managing configuration lists
  • Handling cached data
  • Storing serialized objects

Key features

  • Supports default value retrieval
  • Enables object serialization
  • Handles object list persistence
  • Reduces boilerplate code
  • Cross-platform compatibility
  • Easy-to-use API

Suitable for

  • Simple data persistence needs
  • User preference management
  • App state storage
  • Cross-platform apps
  • Developers seeking minimal setup
  • Projects using shared_preferences

Considerations

  • Not suitable for large datasets
  • Limited to simple data types
  • Requires JSON serialization
  • No built-in encryption
  • Dependent on shared_preferences
  • Not ideal for complex database operations

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

sp_util

Pub      Pub

Flutter shared_preferences plugin util, support get default value, save object, object list. Use SharedPreferences easily.

Pub
dependencies:
  sp_util: ^2.0.3
APIs
getObj
getObjList
putObject
getObject
putObjectList
getObjectList
getString
putString
getBool
putBool
getInt
putInt
getDouble
putDouble
getStringList
putStringList
getDynamic
haveKey
getKeys
remove
clear
reload
isInitialized
Example
/// Example One.
/// await SpUtil initialization to complete before running the app.
/// sp init time release about 30ms,debug about 100ms.(Test on Android.)
void main() async {
  await SpUtil.getInstance();
  runApp(MyApp());
}

class MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
 
     /// examples
    SpUtil.putString("username", "sky24");
    String userName = SpUtil.getString("username", defValue: "");
    print("userName: " + userName);

    /// save object example.
    /// 存储实体对象示例。
    City city = City();
    city.name = "成都市";
    SpUtil.putObject("loc_city", city);

    City hisCity = SpUtil.getObj("loc_city", (v) => City.fromJson(v));
    print("City: " + (hisCity == null ? "null" : hisCity.toString()));

    /// save object list example.
    /// 存储实体对象list示例。
    List<City> list = List();
    list.add(City(name: "成都市"));
    list.add(City(name: "北京市"));
    SpUtil.putObjectList("loc_city_list", list);

    List<City> dataList = SpUtil.getObjList("loc_city_list", (v) => City.fromJson(v));
    print("CityList: " + (dataList == null ? "null" : dataList.toString()));
  }
  @override
  Widget build(BuildContext context) {
    return MaterialApp();
  }
}  


/// Example Two.
/// add SplashPage, complete sp initialization on the SplashPage. Then you can use it synchronously to the homepage。
...
...
More Util

common_utils Dart common utils.

  1. TimelineUtil : timeline util.
  2. TimerUtil : countdown,timer.
  3. MoneyUtil : fen to yuan, format output.
  4. LogUtil : simply encapsulate print logs.
  5. DateUtil : date conversion formatted output.
  6. RegexUtil : regular verification of mobile phone numbers, ID cards, mailboxes and so on.
  7. NumUtil : keep [x] decimal places, add subtract multiply divide without loosing precision.
  8. ObjectUtil : object is empty, two List is equal.
  9. EncryptUtil : xor, md5 ,Base64..
  10. TextUtil : hide phoneNo.
  11. JsonUtil : json to object.

flustars Flutter common utils.

  1. SpUtil : SharedPreferences Util.
  2. ScreenUtil : get screen width height density, appBarHeight, statusBarHeight, orientation.
  3. WidgetUtil : get Widget width height,coordinates.
  4. ImageUtil : get image size.
  5. DirectoryUtil : Directory Util.
dependencies:
  # https://github.com/Sky24n/common_utils
  common_utils: ^1.2.1
  # https://github.com/Sky24n/flustars
  flustars: ^0.3.3
  # https://github.com/Sky24n/sp_util
  sp_util: ^2.0.0

Changelog

Please see the Changelog page to know what's recently changed.

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package