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 のアウトラインを掴みつつ、技術視点のバランスも取れていて有用。

