当尝试将'http'和'async'库添加到我的项目时,看起来导入正确,但是我不能使用导入包中的类。
import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:async/async.dart';
我的代码是:
const request= "https://api.hgbrasil.com/finance/taxes?format=json&key=";
void main(){
http.Response response = await http.get(request);
runApp(MaterialApp(
home: Container(),
));
}
,并且在尝试运行该应用程序时出现此错误:
Compiler message:
lib/main.dart:10:28: Error: Unexpected token 'await'.
http.Response response = await http.get(request);
^^^^^
lib/main.dart:10:34: Error: Getter not found: 'http'.
http.Response response = await http.get(request);
^^^^
lib/main.dart:10:3: Error: 'http.Response' can't be used as a type because 'http' isn't defined.
http.Response response = await http.get(request);
^^^^^^^^^^^^^
Compiler failed on /home/alexandre/dev/flutter/conversor_moedas/lib/main.dart
Finished with error: Gradle task assembleDebug failed with exit code 1
我已经在pubspec.yaml中添加了依赖项,并且软件包得到了:
name: conversor_moedas
description: A new Flutter application.
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# Read more about versioning at semver.org.
version: 1.0.0+1
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
http: ^0.12.0
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.io/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.io/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.io/custom-fonts/#from-packages
此后,IDE识别出导入的包,但是我无法使用它,如您在图中所看到的,IDE识别了import 'package:http/http.dart';
,但在行http.Response response = await http.get(request);
如您所见,该库在那里:
我还尝试在Android Studio中“使缓存无效/重新启动”,但没有成功... IDE版本为:
Android Studio 3.2.1
Build #AI-181.5540.7.32.5056338, built on October 8, 2018
JRE: 1.8.0_152-release-1136-b06 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-39-generic