gpt4 book ai didi

flutter - 使用用户的偏好来计算

转载 作者:IT王子 更新时间:2023-10-29 07:16:47 25 4
gpt4 key购买 nike

不理解互联网上所有关于 Flutter 中的共享首选项的解释,经过三天的搜索和尝试后,我有点(有点不是真的)沮丧。所以我在这里呼唤我的英雄。

我正在开发我的第一个 Flutter 应用程序。它用于计算用户项目所需的重量体积。

我有 4 个屏幕,由底部栏激活。 1 屏幕是设置屏幕,用户可以在其中输入 (1) 混合比,(2) 液体重量和 (3) bool 值(如果他们测量的是体积(ml)的重量(gr))。如果他们正在使用音量,则选项 2 不是必需的,然后隐藏。

我希望他们将其填写为他们的设置。我需要这些设置用于其他页面之一的公式。如果他们什么都不填,我有默认值。我不希望他们每次都必须填写这些设置,而只是一次。如果他们使用另一种液体,或者两次。 :-)

我已经尝试过 SQFLITE 包,但我认为 SHARED PREFERENCES 包是我需要的。我在 YouTube 上观看了所有这些视频,我用谷歌搜索、阅读并尝试了很多项目,但我仍然不明白如果必须做什么以及我把代码放在哪里。似乎总是如果我重新输入专家正在输入的内容,我就是唯一失败的人。

是的,我是一个初学者(你们都曾经是),我现在正在为这个话题而苦苦挣扎。我的问题是:1. SHARED PREFERENCES 包是我应用程序的最佳解决方案吗?2.写数据库的设置放在哪里。3. 我如何在这个数据库中第一次放置默认值。4. 是否可以在设置屏幕上设置一个值,然后在另一个页面上获取该值,而不使用导航(因为我使用底部栏)。

读到最后:谢谢!

    import 'package:flutter/material.dart';
import 'constants.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'dart:async';

class SettingsPage extends StatefulWidget {
@override
SettingsPageState createState() => SettingsPageState();
}

class SettingsPageState extends State<SettingsPage> {
int mixingRatio = 50;
int liquidGravity = 115;
bool weight = true;

@override
void initState() {
super.initState();
}

Future<int> _getIntFromSharedPref() async {
final prefs = await SharedPreferences.getInstance();
final mixingRatio = prefs.getInt('mixingRatio');
if (mixingRatio == null) {
return 50;
}
return mixingRatio;
}

Future<void> _resetMixingRatio() async {
final prefs = await SharedPreferences.getInstance();
await prefs.setInt('mixingRatio', 50);
}

-----------------

onPressed: () {
setState(
() {
weight = true;
weightOrVolume = 'GR';
},
);
},

最佳答案

回答您的问题。

  1. Is the package SHARED PREFERENCES the best solution for my app?

对于保存设置,这当然是最好的包。

  1. Where do I put the setting for writing the database.

您可以使用 SharedPreference 实例将设置保存在任何地方,例如:

sharedPrefs.putInt("key", 10);
  1. How do I place a default value for the first time in this database

你可以使用 dart 语法获取它 ??

int savedValue = sharedPrefs.getInt("key") ?? 0; // default value will be 0
  1. Is it possible to set a value on the Setting screen, and get the value on another page, without using the Navigation.

是的,您可以通过创建全局变量或在当前屏幕上使用 getInt 检索它来实现。

关于flutter - 使用用户的偏好来计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57124921/

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