zoukankan      html  css  js  c++  java
  • 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")));
                            });
                          }),
                    ],
                  );
              }),
            ),
          );
        });
      }
    }

  • 相关阅读:
    软件架构感悟.
    浏览器缓存技术
    as到底干嘛了???
    关于WebForm开发问题(给新手的建议)
    疑难问题ASP.NET
    破解hash算法.高手请进,求解.
    (MVC和JVPL模式)Moon.Web架构谈
    Moon.NET框架架构及介绍
    调用API设置安卓手机的Access Point
    gtShell 为你常用的目录建立标签并快速跳转
  • 原文地址:https://www.cnblogs.com/gaozhang12345/p/12089955.html
Copyright © 2011-2022 走看看