无法使用导入包中的成员(Flutter)

时间:2018-12-16 13:24:43

标签: android-studio dart flutter dart-pub flutter-dependencies

当尝试将'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);

enter image description here

如您所见,该库在那里:

enter image description here

我还尝试在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

0 个答案:

没有答案