基于shared_preference本地存储操作

418 阅读1分钟

1 什么是shared_preference?

shared_preference是Flutter社区开发的一个本地数据存储插件

.简单的,异步的,持久化的key-value存储系统 .在Android上他是基于SharedPreference .在ios上基于NSUserDefaults的

2如何使用 shared_preference

首先在pubspec.yaml文件中添加:

如:

例子:

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';


void main()=>runApp(MyApp());

class MyApp extends StatefulWidget{

_MyAppCountState createState() =>_MyAppCountState();

}

class _MyAppCountState extends State{
String countString="",localCount="";
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
theme: ThemeData(primaryColor: Colors.blue),
home: Center(
child: Column(
children: [
Raiseon(onPressed: _incrementCounter, child: Text('incrementCounter counter'),
),
Raiseon(onPressed: _getCounter,child: Text('getCounter'),),
Text(
countString,
style: TextStyle(fontSize: 20.0),
),
Text('result'+localCount,style: TextStyle(fontSize: 20.0),),
],

),

),

);
}
_incrementCounter() async{
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
setState(() {
countString = countString+"1";

});
int counter = (sharedPreferences.get('counter')??0)+1;
await sharedPreferences.setInt('counter', counter);
}

_getCounter() async{
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
setState(() {
localCount = sharedPreferences.getInt('counter').toString();
});
}
}