【问题标题】:keep an integer with SharedPreferences in Flutter在 Flutter 中使用 SharedPreferences 保留一个整数
【发布时间】:2020-07-07 13:06:18
【问题描述】:

我只想在第一次打开此页面时创建一个一次性页面,但我不知道如何保留此命令。我想我应该使用 SharedPreferences 但不能这样做。请帮帮我。

import 'package:eventer/landing/second.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class LandingPage extends StatelessWidget {
  int index = 0;

  @override
  Widget build(BuildContext context) {
    return Center(
      child: RaisedButton(
        onPressed: selecter(),
      ),
    );
  }

  selecter() {
    if (index == 0) {
      return FirstPage();
    } else { 
      () {
       return SecondPage();
      };
    }
  }
}

【问题讨论】:

  • 你安装共享偏好依赖了吗?

标签: flutter dart


【解决方案1】:

您可以使用 pubspec.yaml 文件安装 sharedpreference 依赖项

    shared_preferences: ^0.5.4

然后在你的 .dart 文件中导入包

  import 'package:shared_preferences/shared_preferences.dart';

您可以将信息存储在 sharedpreference 中,如下所示

SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setInt('index', index);

然后你可以像这样检索值

var index_value = prefs.getInt('index');

然后你可以相应地执行你的条件

【讨论】:

    【解决方案2】:

    使用this插件

    将依赖项添加到 pubspec.yaml 文件。

    shared_preferences: ^0.5.7+3
    

    导入 shared_preferences.dart

    import 'package:shared_preferences/shared_preferences.dart';
    
    selecter() async {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      int index = await prefs.getInt('counter') ?? 0;
      if (index == 0) {
      await prefs.setInt('counter', 1;
        return FirstPage();
      } else {
        return SecondPage();
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-15
      • 1970-01-01
      • 2019-09-30
      • 2020-01-07
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多