gpt4 book ai didi

dart - Flutter Globals 失去了值(value)

转载 作者:IT王子 更新时间:2023-10-29 07:03:58 24 4
gpt4 key购买 nike

好吧,我相信这可能是一个容易回答的问题,但经过大量搜索后我无法找到解决方案。

Flutter/Dart 中的一个如何在应用程序 XYZ 中创建一个变量,该变量在用户离开应用程序、使用另一个应用程序、允许手机进入休眠状态等期间保持其值,然后打开又是 XYZ 应用程序。

我创建了一个小应用来演示如下所示的问题。

静态变量 Globals.UID 可以向上递增,但是如果应用程序被移开(哪个术语描述正确使用另一个应用程序?)然后如上所述手机进入休眠状态,当用户返回应用程序时Globals.UID 变量重置回 -1。

有时重置不是立即进行的,我必须让 IOS 手机休眠 5 分钟左右才能重现该行为。

基本上我需要 Globals.UID 来保留它的值,直到应用程序实际退出。

任何见解都将不胜感激。

import 'package:flutter/material.dart';

import 'package:test_flutter/Globals.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}

class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);

final String title;

@override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;

void _incrementCounter() {
setState(() {
_counter++;

Globals.UID ++;
});
}

@override
Widget build(BuildContext context) {

return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
Text ( "Global variable is:")
, Text ( Globals.UID.toString() )
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}

在另一个名为 Globals.dart 的文件中

class Globals {

static int UID = -1;
}

谢谢!

最佳答案

最终,解决方案似乎主要通过使用 shared_preferences 库来解决。该解决方案带来了许多记录在案的问题,但要在应用程序置于后台,甚至可能被用户杀死时维护数据,shared_preferences 似乎是可行的方法。

关于dart - Flutter Globals 失去了值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55292290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com