gpt4 book ai didi

dart - SharedPreferences 在 null flutter 上调用

转载 作者:IT王子 更新时间:2023-10-29 06:45:23 26 4
gpt4 key购买 nike

我构建了一个函数,用于将 token 存储在共享首选项中,然后在我第一次运行我的应用程序时出现错误时从服务器获取数据

The following NoSuchMethodError was thrown building AdminPage(dirty,state: AdminPageState#87bcd): flutter: The method '[]' was called onnull. flutter: Receiver: null flutter: Tried calling:

然后应用程序运行正常

附言我的代码是这样的

Future<Map<String, dynamic>> getCards(String userid) async {
BuildContext context;
String jWTtoken = '';
try {
final SharedPreferences prefs = await SharedPreferences.getInstance();

// prefs = await SharedPreferences.getInstance();
jWTtoken = prefs.getString('token');
tokenfoo();
} catch (e) {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (BuildContext context) => AuthPage()),
);
}

final Map<String, dynamic> authData = {
'Userid': '261',
// 'Email':_formData['Email'],
// 'Password':_formData['Password'],
};

final http.Response response = await http.post(
'hurl',
body: json.encode(authData),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + jWTtoken
});

final Map<String, dynamic> responseData = json.decode(response.body);

if (responseData["StatusCode"] == 200) {

null;

} else if (responseData["StatusCode"] == 401) {
print(responseData);
Logout();
} else {
print(responseData);
Logout();

null;
}
return responseData;
}

有什么问题吗?

在 Debug模式下,错误出现在这一行

 final SharedPreferences prefs = await SharedPreferences.getInstance();

错误:

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY╞═══════════════════════════════════════════════════════════ flutter:The following NoSuchMethodError was thrown building AdminPage(dirty,state: AdminPageState#7db9a): flutter: The method '[]' was called onnull. flutter: Receiver: null flutter: Tried calling: flutter:flutter: When the exception was thrown, this was the stack: flutter:

0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5) flutter: #1

AdminPageState.build (package:idb/pages/adminpage.dart:63:39) flutter:

2 StatefulElement.build (package:flutter/src/widgets/framework.dart:3809:27) flutter: #3

ComponentElement.performRebuild(package:flutter/src/widgets/framework.dart:3721:15) flutter: #4
Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)flutter: #5 ComponentElement._firstBuild(package:flutter/src/widgets/framework.dart:3701:5) flutter: #6
StatefulElement._firstBuild(package:flutter/src/widgets/framework.dart:3848:11) flutter: #7
ComponentElement.mount(package:flutter/src/widgets/framework.dart:3696:5) flutter: #8
Element.inflateWidget(package:flutter/src/widgets/framework.dart:2950:14) flutter: #9
Element.updateChild(package:flutter/src/widgets/framework.dart:2753:12) flutter: #10
ComponentElement.performRebuild(package:flutter/src/widgets/framework.dart:3732:16) flutter: #11
Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)flutter: #12 BuildOwner.buildScope(package:flutter/src/widgets/framework.dart:2286:33) flutter: #13
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame(package:flutter/src/widgets/binding.dart:676:20) flutter: #14
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback(package:flutter/src/rendering/binding.dart:219:5) flutter: #15
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback(package:flutter/src/scheduler/binding.dart:990:15) flutter: #16
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame(package:flutter/src/scheduler/binding.dart:930:9) flutter: #17
_WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame(package:flutter/src/scheduler/binding.dart:842:5) flutter: #18
_invoke (dart:ui/hooks.dart:154:13) flutter: #19 _drawFrame (dart:ui/hooks.dart:143:3)

最佳答案

可能是因为 jwToken 在初始化时为空。尝试为 jwToken 提供一个字符串值,例如“test”。

关于dart - SharedPreferences 在 null flutter 上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55373832/

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