面试题答案
一键面试- 添加依赖:
在
pubspec.yaml
文件中添加shared_preferences
依赖:
dependencies:
shared_preferences: ^2.0.15
然后运行flutter pub get
下载依赖。
- 存储数据:
import 'package:shared_preferences/shared_preferences.dart';
Future<void> saveNickname(String nickname) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setString('nickname', nickname);
}
- 读取数据:
import 'package:shared_preferences/shared_preferences.dart';
Future<String?> getNickname() async {
final prefs = await SharedPreferences.getInstance();
return prefs.getString('nickname');
}
- 在界面中使用:
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
class NicknamePage extends StatefulWidget {
@override
_NicknamePageState createState() => _NicknamePageState();
}
class _NicknamePageState extends State<NicknamePage> {
String? _nickname;
@override
void initState() {
super.initState();
_loadNickname();
}
Future<void> _loadNickname() async {
final nickname = await getNickname();
setState(() {
_nickname = nickname;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Nickname Storage'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (_nickname != null)
Text('Your nickname: $_nickname'),
ElevatedButton(
onPressed: () async {
await saveNickname('JohnDoe');
await _loadNickname();
},
child: Text('Save Nickname'),
),
],
),
),
);
}
}