我们希望在APP中的配置操作,在关闭APP重启后还能生效,我们可以使用本地存储,即SharedPreferences。
其get和save函数示例如下:
import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; getSharedPreferences(key,type) async{ final prefs = await SharedPreferences.getInstance(); type = type.toString().toLowerCase(); switch(type){ case 'bool': return prefs.getBool(key) ?? false; case 'int': return prefs.getInt(key) ?? 0; case 'double': return prefs.getDouble(key) ?? 0; case 'string': return prefs.getString(key) ?? ''; } } saveSharedPreferences(key,val,type) async{ final prefs = await SharedPreferences.getInstance(); type = type.toString().toLowerCase(); switch(type){ case 'bool': prefs.setBool(key, val); break; case 'int': prefs.setInt(key, val); break; case 'double': prefs.setDouble(key, val); break; case 'string': prefs.setString(key, val); break; } }
调用方式为:
getSharedPreferences("isChangeQuizOrder","bool").then((isChangeQuizOrder){ Global.isChangeQuizOrder = isChangeQuizOrder; });
和
saveSharedPreferences('isChangeQuizOrder', value, "bool");
其中Global是全局变量,在global.dart中为
class Global{ static bool isChangeQuizOrder = true; static bool isChangeOptionOrder = true; }