記錄flutter的本地存儲插件shared_preferences的簡單實用方法
這是一個相似於web的localstorage的插件,
在app上運行時,關閉app時,並不會自動清除掉值,第二次打開時值還在,區別於provide(flutter的狀態管理插件)web
這裏實用的是0.5.0的版本,有更新的能夠實用更新的版本app
一、引入shared_preferences插件
二、存儲方法
三、取出方法
四、銷燬方法less
直接上代碼async
import 'package:flutter/material.dart'; //一、引入shared_preferences插件 import 'package:shared_preferences/shared_preferences.dart'; void main(){ runApp( MyApp()); } class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("flutter provide"), ), body: Container( child: Column( children: <Widget>[ SaveData() ], ), ), ), ); } } class SaveData extends StatefulWidget{ _SaveDataState createState() => _SaveDataState(); } class _SaveDataState extends State<SaveData>{ int _aaa ; _setData() async{ //二、存儲的方法 SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.setInt("save_test", 10); } _getData() async{ //三、取出的方法 SharedPreferences prefs =await SharedPreferences.getInstance(); setState(() { _aaa = prefs.getInt("save_test"); }); } _removeData() async{ //四、銷燬的方法 SharedPreferences prefs =await SharedPreferences.getInstance(); setState(() { prefs.remove("save_test"); }); } @override Widget build(BuildContext context){ return Container( child: Column( children: <Widget>[ Text("$_aaa"), RaisedButton( onPressed: _setData, child: Text("設置值爲10"), ), RaisedButton( onPressed: _getData, child: Text("獲取值"), ), RaisedButton( onPressed: _removeData, child: Text("清楚值"), ) ], ), ); } }
添加依賴插件,複製上面代碼到項目,直接運行ide