当前位置: 首页 > 知识库问答 >
问题:

对空flutter调用SharedPreferences

邓英卓
2023-03-14

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

生成AdminPage(dirty,state:AdminPageState#87BCD)时引发了以下NoSuchMethodError:Flutter:在Null时调用了方法“[]”.颤振:接收器:空颤振:尝试呼叫:

然后应用程序就可以正常工作了

附注。我的密码是

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;
}

有什么不对劲的吗?

并且在调试模式下,错误将出现在此行中

 final SharedPreferences prefs = await SharedPreferences.getInstance();

错误:

共有1个答案

郎睿
2023-03-14

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

 类似资料:
  • 我一直在学习如何构建一个类似Instagram的社交媒体应用程序的教程,尽管我的代码与教程中的代码相同,但当我试图显示用户的帖子时,我得到了这个错误: building FutureBuilder(脏,状态:_FutureBuilderState#0C840)引发了以下NosuchMethodeRor:方法“[]”是在NULL上调用的。接收者:null尝试调用:

  • 问题内容: 我已经为输出java.math.BigDecimal创建了自定义Converter。当BigDecimal为0.00或我要输出破折号时。 这是我的XHTML 我遇到的问题是当#{item.currentValue}是转换器中的方法未调用时。 我说它没有被调用是因为BigDecimal为时我没有错误,也没有语句输出。当BigDecimal不是预期值时,它会按预期方式工作,并且会打印出“

  • 这花费了出乎意料的长时间。)/I/颤振(15602):══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════ I/flatter(15602):在生成TripActivityList(dirty)时引发了以下NoSuchMethodError:I/flatter(15602):对null调用了set

  • 我的应用程序有问题,我想解决它,但我无法访问解决方案,请帮助我,,,

  • 我正在开发一个具有蓝牙功能的应用程序。我使用一个片段来扫描并列出蓝牙设备。单击时,会回调到提供所选蓝牙设备的主要活动。 我一开始使用的是Android 6(API 23)的智能手机,然后不得不调整代码以适应Android 5.0(API 21)的使用。 我只是将minSDK更改为API21并重新构建了项目,没有任何问题。 该应用程序在智能手机上运行时没有任何问题。安装了Android5的平板电脑运

  • 我是Android的新手,我正在开发一个应用程序,该应用程序试图连接服务器并获取Json响应,将其解析为类并使其可用。 为此,我上了三门课 公共类顾客{} 公共类ServerConnect{} 公共类JsonParser{} Serverconnect使用Volley库在异步线程上下载网页源代码。下载后,Server Connect类启动OnServerResponsed(String Respo