flutter - 如何在 Flutter 中使用 Sharedpreferences 来创建个人资料页面?
问题描述
我想在 Flutter 中使用 sharedpreferences,以便在我的 Flutter 应用程序中创建用户个人资料页面。
这将是一个入职会话,以保存用户名、婚姻状况和生日。如果同一用户打开应用程序,它将自动通过入职会话并且应用程序的主屏幕将打开。
我不想使用登录过程。当用户打开应用程序时,如果用户完成入职,应用程序将自动识别用户。将有 3 个单独的页面,询问用户的姓名、年龄和性别。用户完成入职后,应用程序将保存用户的所有信息配置文件页面。UI 将类似于下面的视频 :) 这是 UI 视频
我怎么能意识到这一点?
解决方案
我创建了一个工作表以使用 sharedpreferences 保存用户的 birtdate,但我没有实现!
您能否检查以下代码的某些部分并解释我犯了什么错误。谢谢!
bool isDateSelected = false;
DateTime birthDate;
DateTime _selectedDate;
@override
void initState() {
_read1();
super.initState();
}
_read1() async {
prefs = await SharedPreferences.getInstance();
setState(() {
prefs.getString('selectedDate');
});
}
void _pickDateDialog() {
showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(1950),
lastDate: DateTime.now())
.then((pickedDate) {
if (pickedDate == null) {
return;
}
setState(() {
prefs.setString('selectedDate', _selectedDate.toIso8601String());
});
});
}
Padding(
padding: const EdgeInsets.all(10.0),
),
Text(
'Select Your Birthdate',
style: TextStyle(color: Colors.pink, fontSize: 20.0),
),
GestureDetector(
child: new Icon(
Icons.date_range,
color: Colors.pink,
),
onTap: () {
_pickDateDialog();
}),
Padding(
padding: const EdgeInsets.all(10.0),
),
Text(
_selectedDate == null
? 'No date chosen!'
: '${DateFormat.yMMMd().format(_selectedDate)}',
style: TextStyle(color: Colors.white),
),
推荐阅读
- python - pyqt QStandardItemModel 有没有办法从模型中完全删除值?
- wordpress - 谷歌站点地图插件生成不正确的 URL
- php - 在 php、mysql 中以“内联编辑”样式编辑回显输出-
- jquery - HTML 访问密钥 (alt+s) 在 CK 编辑器中不起作用
- powershell - 如何使用 powershell 中的命令将 sudo 用户添加到 WSL?
- fusionauth - 是否可以在用户注册期间强制执行 2FA 配置?
- ruby - Rails:Active Storage 变体生成一个附加文件
- angular - JSON值降序排序的问题
- sql - 如何编写只选择一些字母的sql?
- php - 如何在 php-fpm 后面的 docker 中获取 laravel 的日志?