• flutter shared_preferences相当于iOS的UserDefaults 安卓的SharedPreferences


    import 'dart:async';
    
    import 'package:flutter/material.dart';
    import 'package:shared_preferences/shared_preferences.dart';
    
    void main() {
      runApp(new MaterialApp(home: new MyApp()));
    }
    
    
    
    class MyApp extends StatelessWidget {
      final String mUserName = "userName";
      final _userNameController = new TextEditingController();
    
      @override
      Widget build(BuildContext context) {
        save() async{
          SharedPreferences prefs = await SharedPreferences.getInstance();
          prefs.setString(mUserName, _userNameController.value.text.toString());
        }
    
        Future<String> get() async {
          var userName;
    
          SharedPreferences prefs = await SharedPreferences.getInstance();
          userName = prefs.getString(mUserName);
          return userName;
        }
    
        return new Builder(builder: (BuildContext context) {
          return new Scaffold(
            appBar:  AppBar(
              title:  Text("SharedPreferences"),
            ),
            body:  Center(
              child: new Builder(builder: (BuildContext context){
                return
                  Column(
                    children: <Widget>[
                      TextField(
                        controller: _userNameController,
                        decoration:  InputDecoration(
                            contentPadding: const EdgeInsets.only(top: 10.0),
                            icon:  Icon(Icons.perm_identity),
                            labelText: "请输入用户名",
                            helperText: "注册时填写的名字"),
                      ),
                      RaisedButton(
                          color: Colors.blueAccent,
                          child: Text("存储"),
                          onPressed: () {
                            save();
                            Scaffold.of(context).showSnackBar(
                                new SnackBar(content:  Text("数据存储成功")));
                          }),
                      RaisedButton(
                          color: Colors.greenAccent,
                          child: Text("获取"),
                          onPressed: () {
                            Future<String> userName = get();
                            userName.then((String userName) {
                              Scaffold.of(context).showSnackBar(
                                  SnackBar(content: Text("数据获取成功:$userName")));
                            });
                          }),
                    ],
                  );
              }),
            ),
          );
        });
      }
    }

  • 相关阅读:
    【11.3】
    WPF中内嵌网页的两种方式
    .net的winform中DialogResult属性的使用
    MVC过滤器使用方法
    C#调用C++的DLL错误解决方法
    WPF中UserControl的属性和事件
    React架构之路
    读完这一篇,字符串格式化界的“白富美”(f-strings)抱回家!
    关于使用format()方法格式化字符串,读这一篇就够了!
    String,StringBuffer与StringBuilder
  • 原文地址:https://www.cnblogs.com/gaozhang12345/p/12089955.html
Copyright © 2020-2023  润新知