Chi*_*iaz 1 sharedpreferences dart flutter
我需要从共享首选项中获取一个存储值并将其放入文本小部件中。如果没有未来的建造者,我该如何做到这一点?
_currPage() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
int page = prefs.getInt('currPage') ?? 0;
return page;
}
Run Code Online (Sandbox Code Playgroud)
class _AllTasksPageState extends State<AllTasksPage> {
@override
Widget build(BuildContext context) {
...
Text(_currPage()); //not working
...
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
仅为共享首选项创建一个辅助类
import 'package:shared_preferences/shared_preferences.dart';
class SPHelper {
SPHelper._();
static SPHelper sp = SPHelper._();
SharedPreferences? prefs;
Future<void> initSharedPreferences() async {
prefs = await SharedPreferences.getInstance();
}
Future<void> save(String name, String value) async {
await prefs!.setString(name, value);
}
String? get(String key) {
return prefs!.getString(key);
}
Future<bool> delete(String key) async {
return await prefs!.remove(key);
}
}
Run Code Online (Sandbox Code Playgroud)
在你的主要功能中添加
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await SPHelper.sp.initSharedPreferences();
...
runApp(MyApp());
...
}
Run Code Online (Sandbox Code Playgroud)
然后获取你的数据只需写
SPHelper.sp.get("YOUR_KEY")
并存储您的数据只需写入
SPHelper.sp.save("YOUR_KEY","YOUR_VALUE")
这是使用共享偏好的最佳方式。
我希望这能帮助您解决问题。
| 归档时间: |
|
| 查看次数: |
3240 次 |
| 最近记录: |