【发布时间】:2023-03-03 07:30:29
【问题描述】:
用户在应用中更改 3 页面后,我需要显示一个弹出窗口。
如何计算 Flutter 中的导航次数?
我使用 getx 来更改应用程序中的页面,并对 firebase 进行了观察者分析。
【问题讨论】:
标签: flutter navigation flutter-getx
用户在应用中更改 3 页面后,我需要显示一个弹出窗口。
如何计算 Flutter 中的导航次数?
我使用 getx 来更改应用程序中的页面,并对 firebase 进行了观察者分析。
【问题讨论】:
标签: flutter navigation flutter-getx
您可以使用变量跟踪更改的页面。在 dart 编程语言中没有 global variable 这样的东西。所以这是一种在 dart 中实现全局变量的方法。
步骤:
创建一个名为global.dart 的文件并声明一个变量
例如:int pageCount = 0;
现在将此文件导入为import 'package:..../global.dart';
并在有Navogator.push 或触发页面更改的地方增加pageCount 变量。
提示:如果您使用这种方式,那么在每个应用程序重新启动时,pageCount 变量会重置(初始化)为 0,并且在 pageCount=3 之后弹出窗口将再次显示给用户
现在,如果您使用sharedPreferences 插件可以避免这种情况。将pageCount 存储为共享首选项。变量的更新应该按照上面解释的方式进行。
然后在每个应用程序开始时读取此变量,如果变量 == 3,那么您可以跳过弹出窗口的显示。
插件链接:https://pub.dev/packages/shared_preferences
这篇文章很好地解释了如何在你的 Flutter 应用中实现共享偏好:https://medium.com/flutterdevs/using-sharedpreferences-in-flutter-251755f07127
这是最繁琐的方式:
现在,如果您不习惯使用共享首选项,您可以使用带有 dart:io 库的 path_provider 插件将变量存储在文本文件或 JSON 文件中。
这里解释了关于读写文件的所有内容:https://flutter.dev/docs/cookbook/persistence/reading-writing-files
如果您选择使用 JSON 文件来保存变量,那么您可以执行以下操作:
config.json 或any_name.json 的文件
【讨论】: