如何解决未处理的异常:“String”类型不是“Uri”类型的子类型
我一直在做一个出租车克隆应用的 Flutter 移动项目。我已将 Google Maps API 用于地理编码和方向。我一直在关注 youtube (the link) 上的教程。当我运行项目时,我没有得到任何数据并在控制台中看到这个错误
[ERROR:Flutter/lib/ui/ui_dart_state.cc(186)] 未处理的异常:类型 'String' 不是 'Uri' 类型的子类型
请帮帮我。我是为学校项目做的
解决方法
这很可能是由于 http package 的版本控制所致。看视频教程,好像老师用的是http 0.12.2,而你好像用的是更高版本(0.13.0以上)。如果您查看 changelog,您会看到有关 0.12.2 之后所做更改的注释:
破坏 以前允许字符串或 Uri 的所有 API 现在通过需要一个 Uri。
要解决您的问题,您需要传递 Uri 而不是 String
var url = Uri.parse('https://example.com');
,
您可能使用了字符串(例如“https://yoursuperendpoint.com”)
并且您需要使用 URI:为此有一个特殊的 Uri
类。
那里有文档:https://api.flutter.dev/flutter/dart-core/Uri-class.html
但您可能会使用 Uri.tryParse()
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。