「Flutter/外部ライブラリ/shared preferences」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→参考) |
(→参考) |
||
行80: | 行80: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
+ | ==Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferencesエラーが起こるとき== | ||
+ | flutter run | ||
==参考== | ==参考== |
2019年4月30日 (火) 04:53時点における版
目次
pubspec.yaml
dependencies: flutter: sdk: flutter shared_preferences: ^0.5.2
flutter packages get
値設定、値取得
準備
import 'package:shared_preferences/shared_preferences.dart';
数値取得
void _incrementCounter() async { SharedPreferences prefs = await SharedPreferences.getInstance(); int counter = prefs.getInt('counter'); }
数値設定
void _incrementCounter() async { SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setInt('counter', 10); }
asyncで囲む必要がある
文字列設定・取得
String name = prefs.getString("name"); name = "${name} ${counter}"; await prefs.setString('name', name);
サンプル
import 'package:shared_preferences/shared_preferences.dart'; class _MyHomePageState extends State<MyHomePage> { int _counter = 0; _incrementCounter() async { SharedPreferences prefs = await SharedPreferences.getInstance(); int counter = (prefs.getInt('counter') ?? 0) + 1; print('Pressed $counter times.'); await prefs.setInt('counter', counter); setState(() { _counter = counter; }); } @override void initState(){ _incrementCounter(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( 'HelloWorld:', ), Text( '$_counter', style: Theme.of(context).textTheme.display1, ), ], ), ), floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: Icon(Icons.add), ), // This trailing comma makes auto-formatting nicer for build methods. ); } }
flutter run
参考
公式shared_preferences:https://pub.dartlang.org/packages/shared_preferences
公式shared_preferences-class:https://pub.dartlang.org/documentation/shared_preferences/latest/shared_preferences/SharedPreferences-class.html
Flutterで[key : value] 形式でローカルにデータを保存する https://qiita.com/superman9387/items/4786ba4208a546842176