Flutter : SharedPreferencesを使って設定画面を作成する
https://pub.dev/packages/shared_preferences を使用して、Flutterに設定画面を作成する。
Switch Widgetの値を保存、表示させる。
ソース。
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../../resources/string.dart' as SR; class SettingsPage extends StatefulWidget { @override State<StatefulWidget> createState() => SettingsPageState(); } class SettingsPageState extends State<SettingsPage> { static const switch_default_value = false; static const switch_key = "test_switch"; SharedPreferences _prefs; bool _switchValue = switch_default_value; @override void initState() { _initPreferences(); super.initState(); } void _initPreferences() { SharedPreferences.getInstance().then((value){ _prefs = value; setState(() { _switchValue = _prefs.getBool(switch_key) ?? switch_default_value; }); }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text(SR.page_title_settings), ), body: Column( children: <Widget>[ Switch( onChanged: switchChanged, value:_switchValue, ), ], ), ); } void switchChanged(bool value) { _prefs.setBool(switch_key, value); } }
GCP のアウトラインを掴みつつ、技術視点のバランスも取れていて有用。