flutter之本地存儲shared_preferences的超簡單demo

說明

記錄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

相關文章
相關標籤/搜索